Python - Funciones chr y ord

 
Vista:

Funciones chr y ord

Publicado por Marta (13 intervenciones) el 02/11/2017 12:45:32
He creado un programa para que el usuario introduzca una frase o unos numeros y este lo convierta a través de las funciones ord y chr a ASCII. Pero no me termina de funcionar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pregunta = raw_input("Que deseas hacer: 1-Encriptar, 2-Desencriptar: ")
if pregunta ==1:
    s = raw_input("Introduce un valor:")
L1 = []
L2 = []
for x in s:
    L1.append(x)
    L2.append(ord(x))
print L1
print L2
if pregunta == 2:
      r = raw_input("Introduce un valor:")
L1 = []
L2 = []
for x in r:
    L1.append(x)
    L2.append(chr(x))
print L1
print L2
if pregunta !=1 and pregunta !=2:
    print "Solo se puede escoger entre opcion 1 o 2"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Funciones chr y ord

Publicado por kip (257 intervenciones) el 02/11/2017 13:44:18
Que error te muestra ? Por que dices que no te termina de funcionar ? Mas datos por favor.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Funciones chr y ord

Publicado por Marta (13 intervenciones) el 02/11/2017 14:02:43
No me funciona porque me sale escoger opción, y por ejemplo introduzco uno y directamente me imprime lo que pongo al final "tiene que elegir 1 o 2. También creo que puede ser problema de indentacion, pero es que no sé cómo poner para que me funcione
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Funciones chr y ord

Publicado por kip (257 intervenciones) el 02/11/2017 14:10:51
Entiendo, el codigo entonces deberia quedar algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pregunta = int(raw_input("Que deseas hacer: 1-Encriptar, 2-Desencriptar: "))
if pregunta == 1:
    s = raw_input("Introduce un valor:")
    L1 = []
    L2 = []
    for x in s:
        L1.append(x)
        L2.append(ord(x))
    print L1
    print L2
if pregunta == 2:
    r = raw_input("Introduce un valor:")
    L1 = []
    L2 = []
    for x in r:
        L1.append(x)
        L2.append(chr(x))
    print L1
    print L2
if pregunta !=1 and pregunta !=2:
    print "Solo se puede escoger entre opcion 1 o 2"

De todas formas tienes que verificar que lo que almacena pregunta solo sean numeros, asi mismo en el valor de r al desencriptar y debes fijarte que alli no podras iterar sobre estos enteros(podrias colocar que el usuario ingrese enteros separados por una coma o espacio y hacerle un split para poder tener un iterable), que es lo que haces al momento de encriptar, deberías idear una forma para mejorar aquella lógica, ya que te lanzara mensajes de error en plena ejecución si no manejas estos detalles.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar