クラスプロジェクト用の単純なシーザーサイファーを作成しようとしていますが、過去にサイファー鍵を作成することができません。これまでのところ私が持っている:私はこのエラーを得続けるリストの一部をPythonで文字列から整数に変換する3.4
import sys
ALPHABET = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','']
def main(text, key):
print("Encoding message '", text,"'with key",key)
ALPHABET = generate_cypher(key)
def generate_cypher(ckey):
cypher = []
for i in ALPHABET:
x = ALPHABET[i] + ckey
cypher = cypher + x
return cypher
main(sys.argv[1], int(sys.argv[2])
: はTypeError:リストインデックスがないALPHABET
ない指標で
あなたのコードにはいくつかの問題がありますが、関数定義には ':'はありません。 'str' - ' x = i + ckey'を使ったインデックス作成で十分でしょう。リストに 'str'を追加しようとすると、' cypher.append(x) 'が動作します。新しい値をローカルの 'ALPHABET'にバインドします。これは意図していなかったと思います。最終的には、サイファー鍵を作成していません。 – AChampion