【问题标题】:Fix string index out of range修复字符串索引超出范围
【发布时间】:2017-12-30 19:57:54
【问题描述】:

我正在尝试将第 13 行中使用的随机整数转换为字符串,以便对其进行加密,但它一直说 Python 上的字符串索引超出范围。我正在使用最新版本的 Python。

import random
result = ''
message = ''
choice = ''
key = ''
number = random.randint(1,50)

while choice != '2':
    choice = input("would you like to 1. encrypt message or 2. exit   ")

    if choice == '1':
        message = input("enter message to be encrypted    ")
        for i in range(0, len(message)):
            result = result + chr(ord(message[i]) - number)
        number = str(number)
        for i in range(0, len(number[i])):
            key = key key + int(ord(number[i])-7)
        print(result + "    press enter to close")
        print(key)
        end = input()
        break

【问题讨论】:

  • 请将您的代码粘贴到问题中,不要截图。另外,请给我们完整的错误跟踪。阅读how to ask a good StackOverflow question
  • 是的,你应该发布代码,而不是它的图片。但是for i in range(len(number[i])) - 这应该怎么做?

标签: python


【解决方案1】:

我认为您对第 16 行有疑问。

for i in range(0, len(number[i])):

'i' 只能在循环范围内访问。 len(number[i]) 对编译器没有意义,因此会出现索引错误。 而是尝试:

for i in range(len(number)):

最好的问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    相关资源
    最近更新 更多