python - 使用 for 循环时出现 ValueError [已解决]
问题描述
我正在练习 for 循环,并想创建一个程序来询问用户输入,然后将其转换为正常和反向字符串。例如:-
输入一个字符串:python
PN
哟
th
H T
哦
np
我的代码:-
inp = input("Enter a string: ")
for row, col in inp[::-1], inp:
print(row, col)
输入“python”时出现的错误是:-
Traceback (most recent call last):
File "C:\Users\intel\Desktop\Python\test.py", line 2, in <module>
for row, col in inp[::-1], inp:
ValueError: too many values to unpack (expected 2)
当我输入“py”时,它没有显示错误:-
y p
p y
请帮我解决这个问题。提前致谢...
解决方案
你得到它的方式,它不是试图依次从每个列表中获取一个元素。
您可以将列表包装在 a 中zip
,它会完全按照您的意愿行事。
inp = input("Enter a string: ")
for row, col in zip(inp[::-1], inp):
print(row, col)
它起作用的原因py
是字符串有 2 个元素长,并且您有两个变量分配给 ( row
, col
)。pyt
例如,如果您这样做,它会起作用,for row, col, z in
因为字符串是 3 个字符,并且您有 3 个变量要分配,依此类推。
推荐阅读
- java - 您可以在增强的 for 循环中使用数组初始化吗?
- dart - Fluter LocalNotification 插件,每 2 小时显示一次通知
- typescript - Typescript 在数组中的键处捕获类型,就像在类对象结构中一样
- oracle - 在 plsql oracle 11 中读取文件并生成查询
- php - 来自 Messenger 处理程序的自定义异常
- c# - 如何修改对象取决于 linq 中的连接条件
- android - ImageView 上方的 TextView:缩放后的 SVG 顶部和 TextView 底部之间的空间被缩放
- android - 如何使用 Retrofit 和 Django rest-framework 通过 URL 发送和保存数据
- javascript - 计算数组中答案的冗余
- tensorflow - 没有优化器的张量流 2.0 负载保存模型