如何在python

时间:2019-05-09 23:29:49

标签: python python-3.x list

我的问题是,当我设置一个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循环的开始它就崩溃了。

3 个答案:

答案 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+开始