我正在练习循环,并想创建一个程序来询问用户输入,然后将其转换为普通和反向字符串。例如:-
输入一个字符串: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
请帮助我。预先感谢...
答案 0 :(得分:1)
采用这种方式,并不是要从每个列表中依次获取一个元素。
您可以将列表包装在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个变量,依此类推。