0

我正在尝试遍历字符串并将字符写入列表(使用“for”循环)。如果我在 for 循环之前创建空列表,python 认为它是一个字符串,当我到达 myList.append(stuff) 如果我在循环中创建空列表时它会起作用,但显然它在每次迭代时都会被删除。我试图玩全球的东西,但我没有得到任何地方。*这应该是一个非常简单的密码,是对一个更大项目的热身,但这让我受不了。

alphabet = 'abcdefghijklmnopqrstuvwxyz'
while True:
    code = []
    index = int(input("Code Index:"))
    message = input("Message: ")
    for i in message:
        if i in alphabet:
            value = alphabet.find(i)
            value += index
            new_letter = alphabet[value]
            print('new letter: ' + new_letter)
            code.append(new_letter)
            print('code: ' + str(code))
        else:
            code.append(i)
        code = ''.join(code)
    input("EXPORT CODE: ")
    print(code)

但是当它运行时,我得到:

<i>Traceback (most recent call last):
  File "C:/Users/Max Hayes/Desktop/PyCrypt/test.py", line 15, in <module>
    code.append(new_letter)
AttributeError: 'str' object has no attribute 'append'</i>
4

1 回答 1

0

code = ''.join(code)您重新绑定code到 str 类,这就是您遇到问题的原因。可能您可以将其更改为code_str = ''.join(code). 此外,该语句需要放在for循环之外。

于 2013-10-11T00:31:56.390 回答