error showed辞書をループしているときにキーエラーが発生しています。誰かが私に間違っていることを教えてもらえると助けになるでしょう。私は基本的な「シーザー暗号」、13 :)Python辞書のキーエラー
ceasar = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u', 'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c', 'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k', 'y':'l', 'z':'m'}
def ceasar_cipher(encoded):
encoded = encoded.lower()
decoded = ""
for letter in encoded:
if letter == "?" or letter == "!":
decoded += letter
for letter in encoded:
ceasar[letter] += decoded
print decoded
あなたは何を関数と呼んでいますか?私は、単語にスペースがあり、あなたの参照辞書に '' 'がないと仮定しています。したがって、キーエラーです。 – AChampion
最初の割り当てを 'encoded = encoded.lower()。strip()'に変更してみてください – Bahrom
fyi、Pythonには[キーが13のCaeer Cypher]が含まれています(https://docs.python.org/2/library/ codecs.html#python-specific-encodings): 'インポートコーデック。 (codecs.encode(message、 'rot_13')) ' – RoadieRich