使用 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 个元素,并且您分配了两个变量(rowcol)。例如,如果您执行 for row, col, z in,它将适用于 pyt,因为字符串是 3 个字符,并且您有 3 个变量要分配给,依此类推。