0
私は学校で仕事をしていました。これはアルファベットに沿って移動されたテキストを解読すること(それが何であるか分からない)であった。 abcからbcdへ。単純解読プログラム
alpha = ["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"]
userInput = str(input("Enter text: "))
key = 1
userInput = userInput.lower()
print(userInput)
def userText(userInput, alpha, key):
translated = ""
for x in (userInput):
num = ord(alpha[x])
num += key
translated += chr(num)
print(translated)
print(userText(userInput, alpha, key))
私はエラーを得た:
File "/Users/Andreasjensen/Documents/decipher.py", line 13, in userText
num = ord(alpha[x])
TypeError: list indices must be integers or slices, not str
私はそれはそれはアルファで数えることができないことを意味だと思いますか?本当に分かりませんが、問題を見つけることを望んでいました。
あなたのステートメント 'for x in(userInput):'は、文字列の各*文字*に 'x'を設定して次のコードを実行します。文字をリストのインデックスとして直接使用することはできません。最初に番号に変更する必要があります。 –
これを試してください: 'x in range(len(userInput)):' –
'translated'を設定するとインデントが間違っています。それはforループ内になければなりません。 – hhbilly