我在使用for循环时收到ValueError

时间:2019-11-08 12:48:27

标签: python python-3.x for-loop valueerror

我正在练习循环,并想创建一个程序来询问用户输入,然后将其转换为普通和反向字符串。例如:-

  

输入一个字符串:python

     

p n

     

     

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

请帮助我。预先感谢...

1 个答案:

答案 0 :(得分:1)

采用这种方式,并不是要从每个列表中依次获取一个元素。

您可以将列表包装在zip中,它会完全满足您的要求。

inp = input("Enter a string: ")
for row, col in zip(inp[::-1], inp):
    print(row, col)

它对py有效的原因是该字符串的长度为2个元素,并且您分配了两个变量(rowcol)。例如,如果您执行pyt,则它对for row, col, z in有用,因为字符串是3个字符,并且您要分配3个变量,依此类推。