本質的には、入力を受け取り、それを対応する数値に変換し、「オフセット」で入力されたものをリスト内でカウントアップし、対応する新しい数値を返す必要があります。リストを集計する
たとえば、「de」の場合、「4」、「5」に変換し、「7」、「8」までカウントしてプログラムに「gh」を返す必要があります。
実際にリストを上に移動する方法を理解するのに苦労します。
import string
translate = {
'a': "1", 'b': "2", 'c': "3", 'd': "4", 'e': "5", 'f': "6",
'g': "7", 'h': "8", 'i': "9", 'j': "10", 'k': "11", 'l': "12",
'm': "13", 'n': "14", 'o': "15", 'p': "16", 'q': "17", 'r': "18",
's': "19", 't': "20", 'u': "21", 'v': "22", 'w': "23", 'x': "24",
'y': "25", 'z': "26",
}
msg = input("Enter Message: ")
offset = input("Enter Offset: ")
caesar = [translate[ch.lower()] for ch in msg if ch in string.ascii_letters]
正確に「リストを上に移動する」とはどういう意味ですか?また、文字列よりも整数でオフセットを追加するほうが簡単です。 – jonrsharpe
私がよく分かっているのであれば、逆辞書を作ってその辞書の価値を見てください。たとえば 'd'を使用すると4が得られ、次に逆辞書で4 +オフセットが表示されます。 – prossellob
誰かが "hi"と入力すると、それを対応する数字に変換する必要があります(この部分はうまくいきます)。次に、「オフセット」に入力された番号をカウントアップします。だから彼らが3に入った場合:hiは "8"、 "9"に変換され、 "11"、 "12"にする必要があります。 – white