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
except
undraise
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!