使用 for 循环时出现 ValueError [已解决]
I am getting an ValueError while using for loops [solved]
我正在练习 for 循环,想创建一个程序来询问用户输入,然后将其转换为正常和反向字符串。例如:-
Enter a string: python
p n
y o
t h
h t
o y
n p
我的代码:-
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
请帮我解决这个问题。提前致谢...
按照您的理解方式,它并不是要依次从每个列表中取出一个元素。
您可以将列表包装在 zip
中,它会完全按照您的要求执行。
inp = input("Enter a string: ")
for row, col in zip(inp[::-1], inp):
print(row, col)
它适用于 py
的原因是该字符串的长度为 2 个元素,并且您分配了两个变量(row
、col
)。例如,如果您执行 for row, col, z in
,它将适用于 pyt
,因为字符串是 3 个字符,并且您有 3 个变量要分配给,依此类推。
我正在练习 for 循环,想创建一个程序来询问用户输入,然后将其转换为正常和反向字符串。例如:-
Enter a string: python
p n
y o
t h
h t
o y
n p
我的代码:-
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
请帮我解决这个问题。提前致谢...
按照您的理解方式,它并不是要依次从每个列表中取出一个元素。
您可以将列表包装在 zip
中,它会完全按照您的要求执行。
inp = input("Enter a string: ")
for row, col in zip(inp[::-1], inp):
print(row, col)
它适用于 py
的原因是该字符串的长度为 2 个元素,并且您分配了两个变量(row
、col
)。例如,如果您执行 for row, col, z in
,它将适用于 pyt
,因为字符串是 3 个字符,并且您有 3 个变量要分配给,依此类推。