Advertisement
pearos

cifrario di cesare by lokk3d

Oct 13th, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.60 KB | None | 0 0
  1. from sys import exit
  2.  
  3. def leggifile(nomefile):
  4.         lines = []
  5.         try:
  6.             miofile = open(nomefile)
  7.             miofile.close()
  8.         except FileNotFoundError:
  9.             x = input("File non trovato...")
  10.             sys.exit(1)
  11.         else:
  12.             for l in open(nomefile):
  13.                 lines.append(l.strip())
  14.             return lines
  15.  
  16. def scrivifile(nomefile, lista):
  17.         miofile = open(nomefile, "w")
  18.         for cont in lista:
  19.             miofile.writelines(cont + "\n")
  20.         miofile.close()
  21.         print("File modificato con successo")
  22.  
  23. def codifica(riga, chiave):
  24.     return ''.join([chr(ord(lettera) + chiave) for lettera in riga])
  25.  
  26. def decodifica(riga, chiave):
  27.     return ''.join([chr(ord(lettera) - chiave) for lettera in riga])
  28.  
  29. def main():
  30.     scelta = input("Vuoi criptare o decriptare? (C/D):  ")
  31.     while scelta != "C" and scelta != "c" and scelta != "D" and scelta != "d":
  32.         scelta = input("Dato non valido, reinserire (C/D):  ")
  33.     nomefile =  input("Inserisci il nome del file: ")
  34.     chiave = int(input("Inserisci la chiave da 0 a 255: "))
  35.     while chiave > 255:
  36.         chiave = int(input("La chiave dev'essere un valore tra 0 e 255: "))
  37.  
  38.     linee = leggifile(nomefile)
  39.     nuovofile = []
  40.     if scelta == "C" or scelta == "c":
  41.         for x in linee:
  42.             stringa = codifica(x, chiave)
  43.             nuovofile.append(stringa)
  44.     if scelta == "D" or scelta == "d":
  45.         for x in linee:
  46.             stringa = decodifica(x, chiave)
  47.             nuovofile.append(stringa)
  48.  
  49.     scrivifile(nomefile, nuovofile)
  50.  
  51.  
  52. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement