Python: ¿Saliendo por loop?
Investigué un poco sobre SO y soy consciente de que se han hecho muchas preguntas similares, pero no pude obtener mi respuesta. De todos modos, estoy tratando de construir una biblioteca para "encriptar" una cadena con la técnica del "número de Cesar", lo que significa que tengo que tomar la cadena y reemplazar cada letra con otra letra X en el alfabeto (espero que tenga sentido) . Aquí está mi código:
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"))
Entonces, en mi segunda declaración elif, quiero romper una vez que he encontrado y cifrado con éxito un carácter en lugar de recorrer todo el alfabeto. He intentado usarbreak
pero salió del bucle principal para. No es lo que quiero. Vi que podía usartry
except
yraise
pero no sé cómo podría hacer eso y ¿es una buena idea?
¿Cuál es la mejor manera de hacer esto? ¿Cuáles son las buenas prácticas en este caso?
Cualquier ayuda sería apreciada y gracias de antemano!