Im Wesentlichen muss ich eine Eingabe nehmen, sie in die entsprechende Zahl umwandeln, dann in der Liste für alles, was in "Offset" eingegeben wird, hochzählen und die neuen entsprechenden Zahlen zurückgeben.Eine Liste hochzählen
Zum Beispiel für "de" würde ich es in "4", "5" übersetzen und ich muss dann bis zu "7", "8" zählen und das Programm "gh" zurückgeben.
Kämpfen, um herauszufinden, wie man tatsächlich die Liste nach oben bewegt.
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]
Was genau bedeutet * "nach oben auf der Liste" *? Beachten Sie auch, dass es einfacher ist, den Offset mit ganzen Zahlen als Strings hinzuzufügen. – jonrsharpe
Wenn ich gut verstehe, sollten Sie ein umgekehrtes Wörterbuch erstellen und nur den Wert dieses Wörterbuchs suchen. Zum Beispiel mit 'd' erhalten Sie 4, und dann schauen Sie 4 + Offset am invertierten Wörterbuch. – prossellob
Also, wenn jemand "Hallo" eingeben würde, muss ich das in die entsprechenden Zahlen übersetzen (dieser Teil funktioniert gut). Zählen Sie dann auf, welche Zahl in "Offset" eingegeben wurde. Also, wenn sie 3 eingeben: hi würde in "8", "9" übersetzt werden und ich müsste das "11", "12" machen. – white