Hola hoy haremos el codigo del cifrado de cesar en python tal como dice el titulo primero pedimos al usuario que nos de la frase y despues inicializamos la variable cadena con los caracteres correspondientes y un try por si pasa algun error
try:
frase=input("Ingresa la frase a encriptar: ")
cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"
luego le pedimos al usuario que ingrese el numero de caracteres a desplazar y preguntamos con un if si el valor que ingreso es menor a el numero de caracteres de la variable cadena, dicho valor se almacena en la variable p
p=int(input("Dame el numero de caracteres a desplazar: "))
if p<len(cadena):
si se cumple la condicion entrara al if y luego de eso incializamos las variables cifrado y posicion
cifrado=""
posicion=0
despues creamos un ciclo for para tomar cada caracter de uno en uno de la palabra frase y preguntar si se encuentra en la variable cadena con el comado if...aclaro la variable x es tipo string y toma el primer caracter, despues el segundo y asi sucesivamente y pregunta en el if si se encuentra en la variable cadena, si entra en el if tomamos la posicion donde se encuentra en la variable cadena y nos desplazamos el numero de veces que dijo el usuario y toma el nuevo caracter de la variable cadena y la almacena o lo concatena en la variable cifrado
for x in frase: #ciclo for toma caracter por caracter con la variable x
if x in cadena: #pregunta si el caracter tomado de frase se encuentra en la variable cadena
posicion=(cadena.index(x)+p) #encuentra la posicion de el caracter en la variable cadena y le suma el numero de desplazamiento dado por el usuario
cifrado+=cadena[posicion] #concatena el nuevo caracter en la variable cifrado
por ultimo imprimimos el resultado del cifrado con el comando print y si sucede algun error
print("texto cifrado: ",cifrado)
else:
print("Error fuera de rango")
except ValueError:
print("Error al ingresar algun dato")
aqui les dejo el codigo completo
aqui una foto del codigo en ejecucion
bueno saludos Flamer y espero les sea de su agrado
No hay comentarios.:
Publicar un comentario