Python: Beenden für Schleife?

Ich habe einige Nachforschungen über SO angestellt und bin mir bewusst, dass viele ähnliche Fragen gestellt wurden, aber ich konnte meine Antwort nicht ganz verstehen. Wie auch immer, ich versuche eine Bibliothek zu erstellen, um einen String mit der "Cesar's number" -Technik zu "verschlüsseln", was bedeutet, dass ich den String nehmen und jeden Buchstaben durch einen anderen Buchstaben ersetzen muss, der X Stellen vom Alphabet entfernt ist (ich hoffe, das macht Sinn). . Hier ist mein Code:

from string import ascii_lowercase, ascii_uppercase

def creer_encodeur_cesar(distance):

    retour = lambda x: encodeur_cesar(x, distance)
    return retour

def encodeur_cesar(string, distance):
    tabLowerCase = list(ascii_lowercase)
    tabUpperCase = list(ascii_uppercase)
    tabString = list(string)

    l_encodedStr = []

    for char in tabString:
        position = 0
        if char == " ":
            pass
        elif char.isupper():
            #do something

        elif char.islower():
            for ctl in range(0, len(tabLowerCase)):
                position = ctl
                if char == tabLowerCase[ctl]:
                    if (ctl + distance) > 26:
                        position = ctl + distance - 25
                    char = tabLowerCase[position + distance]
                    l_encodedStr.append(char)
                    #How to break out of here??


        encodedStr = str(l_encodedStr)

        return encodedStr

encodeur5 = creer_encodeur_cesar(5)
print(encodeur5("lionel"))

Also, in meiner zweiten elif-Anweisung möchte ich brechen, wenn ich ein Zeichen erfolgreich gefunden und verschlüsselt habe, anstatt durch das gesamte Alphabet zu laufen. Ich habe versucht, @ zu verwendbreak aber es ist aus der main for-Schleife ausgebrochen. Nicht was ich will. Ich sah, dass ich @ verwenden könntry exceptundraise aber ich weiß nicht genau wie ich das machen soll und ist das eine gute idee?

Wie geht das am besten? Was sind die guten Praktiken in diesem Fall?

Jede Hilfe wäre dankbar und vielen Dank im Voraus!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage