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)codestr クラスに再バインドするため、問題が発生します。おそらく、あなたはそれを変更することができますcode_str = ''.join(code)。さらに、このステートメントはforループの外に置く必要があります。

于 2013-10-11T00:31:56.390 に答える