我目前正在学习python。书中有一个练习概述了解码代码。我跟随着这个代码,但是我一直在程序中间找回一个错误。
以下是导致问题的代码:
def decode(string_for_decoding):
result = ""
for i in range(0, len(string_for_decoding)):
if string_for_decoding[i+1].isdigit():
result += string_for_decoding[i] * int(string_for_decoding[i+1])
elif string_for_decoding[i].isalpha():
result += string_for_decoding[i]
return result
string_for_decoding = input("Enter a string to decode: ")
print(decode(string_for_decoding))
您将从
0 to len(string)
进入for
循环,并尝试访问索引:i+1
这是根本原因!要么:len(string) - 1
此外,非常不鼓励使用} 。您可以一起忘记索引错误
range(len(x))
。如果您也想要索引,您可以简单地以for i in x:
的形式迭代任何集合数据类型。请查看^{检查范围中的索引是否大于字符串中的字符数。可能是这样的:
您试图获取的索引
i+1
不能等于或大于len(string)
相关问题 更多 >
编程相关推荐