我的问题是,当我设置一个for循环以浏览列表时,即使它从0开始,它也超出了范围,因此不起作用。
我尝试更改for循环的范围,但无法正常工作。
Code = input("Enter your Key code: ")
Code = list(Code)
message = input("Enter your message: ")
message = list(message)
for i in (0, len(message)):
if message[i] == Code[0]:
message[i] = 'a'
我以为它可以工作,但是在for循环的开始它就崩溃了。
答案 0 :(得分:1)
for i in (0, len(message)):
应该是
for i in range(len(message)):
您忘记了range
答案 1 :(得分:0)
您想这样做:
for i in range(len(message)):
...
(0, len(message))
是一个元组。对此进行迭代将给您0
,然后是len(message)
(它总是比列表中最大的有效索引大1),从而导致IndexError。
您可能还想检查Code
中是否包含至少1个字符,否则Code[0]
也会给您IndexIndex错误。
Code = list(Code) or '?'
如果Code
将'?'
设置为Code == ''
。
答案 2 :(得分:0)
您打错了字
应该是这样的:
对于范围内的我(len(消息))
您的for循环很弯曲,因此总是从您想要的1+开始