Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.28 KB | None | 0 0
  1. def cifrar(frase=str, clave=int):
  2.     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']
  3.     mensaje_cifrado = []
  4.     if frase.islower() == True: #Se fija si la frase esta en minuscula
  5.         for x in frase:
  6.             if(x not in alfabeto):
  7.                 mensaje_cifrado.append(x)
  8.             elif(alfabeto.index(x)+clave<=26):
  9.                 mensaje_cifrado.append(alfabeto[alfabeto.index(x)+clave])
  10.             else: #Si se paso de 26
  11.                 mensaje_cifrado.append(alfabeto[(alfabeto.index(x) - 27)+ clave])
  12.         return ''.join(mensaje_cifrado)
  13.     else:
  14.         print("La frase tiene que estar en minuscula")
  15.  
  16. print('MENSAJE CIFRADO')
  17. print(cifrar('julian puto',3))
  18.  
  19. """Cifra una frase usando la tecnica de Caesar, desplazando cada
  20. letra la cantidad de caracteres indicado en la clave.
  21.  
  22. Argumentos:
  23. frase: cadena de caracteres a cifrar (solo letras minusculas)
  24. clave: un entero con la cantidad de posiciones a desplazar (entre 0
  25. y 26)
  26.  
  27. Retorno:
  28. Devuelve una cadena de caracteres con la frase cifrada. Si la
  29. frase original contenia otros caracteres que no fueran letras
  30. minusculas estos quedan inalterados en la cadena retornada
  31. """
  32.  
  33. def descifrar(frase_cifrada, clave):
  34.     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']
  35.     mensaje_descifrado = []
  36.     if frase_cifrada.islower() == True: #Se fija si la frase esta en minuscula
  37.         for x in frase_cifrada:
  38.             if(x not in alfabeto):
  39.                 mensaje_descifrado.append(x)
  40.             elif(alfabeto.index(x)+clave<=26):
  41.                 mensaje_descifrado.append(alfabeto[alfabeto.index(x)-clave])
  42.             else: #Si se paso de 26
  43.                 mensaje_descifrado.append(alfabeto[(alfabeto.index(x) - 27)- clave])
  44.         return ''.join(mensaje_descifrado)
  45.     else:
  46.         print("La frase tiene que estar en minuscula")
  47. print('MENSAJE DESCIFRADO')
  48. print(descifrar('mxñldp sxwr',3))
  49.  
  50. """ Devuelve la frase descifrada con la clave aplicando el metodo Ceasar
  51. Argumentos:
  52. frase_cifrada: frase cifrada con el metodo Ceasar y la clave
  53. clave: clave para descifrar, debe ser igual a la usada cuando
  54.  
  55. 2
  56. se cifro
  57. Retorna:
  58. frase descifrada
  59. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement