
Codigo cesar
Publicado por sergi (9 intervenciones) el 04/10/2014 18:55:52
Hola estoy intentando hacer una funcion que me haga el codigo cesar , cambiando las letras las posiciones que le indico en el abecedario, he logrado hacer esto:
pero cuando pongo por ejemplo una z y desplazamiento 1 me da error porque no hay mas elementos en la lista, como puedo hacer que vuelva a empezar la lista cuando ponga eso y que z = a / n=1
muchas gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def cesar():
import string
frase = raw_input ("Introduce una frase: ")
n = input ("Introduce la clave del cifrado: ")
ALFABETO = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z']
alfabeto = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z']
space = (' ')
for letra in frase:
for i in range(len(ALFABETO)):
if letra == ALFABETO[i]:
print (ALFABETO [i+n]),
for i in range(len(space)):
if letra == space:
print space,
for i in range(len(alfabeto)):
if letra == alfabeto[i]:
print (alfabeto [i+n]),
pero cuando pongo por ejemplo una z y desplazamiento 1 me da error porque no hay mas elementos en la lista, como puedo hacer que vuelva a empezar la lista cuando ponga eso y que z = a / n=1
muchas gracias
Valora esta pregunta


0