Autor
|
Tema: Necesito ayuda urgente!!! Por favor... Python (Leído 2,405 veces)
|
Korina
Desconectado
Mensajes: 2
|
Les agradecería que me ayudarán a realizar un programa en python con las siguientes características: Ejercicio 1:
a) El número siempre es de 4 dígitos. En el ejemplo esta el número 1234, si el número es diferente a 4 dígitos, no lo debe aceptar
b) El programa reemplaza cada uno de los dígitos sumándole un 1. Así por ejemplo el numero 1234 se vuelve el 2345. Siempre deben mantenerse 4 dígitos, por lo tanto el 9 se convertiría en 0. Tomen en cuenta que debe ser dígito por dígito para que funcione correctamente, no sumar 1111 al número.
c) Después se intercambia el primero con el tercer digito y el segundo con el cuarto. Así se obtiene el número 4523.
d) Posteriormente reemplaza cada número por una letra usando la siguiente llave de cifrado: XAFZHKJYMD, es decir: 0=X,1=A, 2=F, 3=Z, 4=H, 5=K, 6=J, 7=Y, 8=M, 9=D
e) Entonces el número 4523 sería HKFZ
f) Se debe realizar el mismo procedimiento de forma inversa para descifrar el número original. Si se introduce la palabra HKFZ entonces, se convierte a número 4523, se invierte 2-4,3-5, se resta 1, y el número cifrado es 1234.
g) En base a esto, se deben crear 2 funciones: cifrarDato y descifrarDato. Estas dos funciones DEBEN estar en un script diferente, y deben recibir el dato a cifrar y la llave de cifrado a manera de lista o texto de la siguiente forma:
cifrarDato(dato,llave) decifrarDato(dato,llave)
Las funciones deben regresar el dato cifrado o descifrado, o bien no regresar nada en caso que los datos estén incorrectos.
Se los ruego, ayudenme porfavor, es para salvar el semestre....
|
|
|
En línea
|
|
|
|
simorg
Ex-Staff
Desconectado
Mensajes: 8.302
|
Muestra lo que tienes hecho hasta el momento, y si tienes algún problema, te ayudaran, lo que no se hace en el Foro es hacerte tu trabajo.
Saludos.
|
|
|
En línea
|
|
|
|
Korina
Desconectado
Mensajes: 2
|
Okey, gracias y perdón.... Sólo tengo esto
letras = []
def LeerLetras(): global letras file = open("letras.txt","r") data = file.read() file.close() Bookings = data.split(";") for i in range((len(letras))): letras = letras.capitalize()
def cifrarDato(dato, llave): if dato > 4 and dato <4: print "Vuelve a intentar!" return if dato = "4": #Cómo validar cuatro dato = (raw_input("Dato: \t")) for i in range (len(dato)): dato = dato+1
#No se como invertirlo y sumarle uno a cada uno, esque se suma 1 a toda la cantidad
def descifrarDato(llave, dato): ???
|
|
|
En línea
|
|
|
|
RevolucionVegana
Desconectado
Mensajes: 477
|
Wow que interesante yo aprendí algo de python y hay algunas cosas que pensando mucho y con código (no el más adecuado pero sirve) si que sabría hacerlas, en el caso de que tenga un rato libre para verlo lo escribo letras = []
def LeerLetras(): global letras file = open("letras.txt","r") data = file.read() file.close() Bookings = data.split(";") for i in range((len(letras))): letras = letras.capitalize()
def cifrarDato(dato, llave): if dato > 4 and dato <4: print "Vuelve a intentar!" return if dato = "4": #Cómo validar cuatro dato = (raw_input("Dato: \t")) for i in range (len(dato)): dato = dato+1
#No se como invertirlo y sumarle uno a cada uno, esque se suma 1 a toda la cantidad [code=python] [/code]
|
|
|
En línea
|
HAS DICHO ALGO NENAAAAAA?!
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
1) esto tendría que estar en el foro de scripting 2) no entiendo en que parte del enunciado dice que hay que usar un archivo 3) vas bastante mal en la lógica por ejemplo: si dato > 4 etc ¿cuándo asignaste el valor de dato? 4) si dato = 4 "#como validar cuatro" supongo es una pregunta, que tal usar len 5) suma 1 a toda la cantidad porque es lo que eso hace dato+1, en todo caso podría ser i + 1 6) te falta casi todo 7) que mal salvar un semestre sin poder resolver esto.
|
|
|
En línea
|
|
|
|
|
|