Advertisement
PrezesSmoku

Szyfrator podstawa

May 20th, 2023 (edited)
709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.81 KB | None | 0 0
  1. czy_dobry_klucz = False
  2. czy_kontynuacja = True
  3.  
  4.  
  5. while czy_kontynuacja:
  6.     #sprawdzanie poprawności klucza
  7.     while not czy_dobry_klucz:
  8.         klucz = input("Podaj klucz do szyfrowania: ")
  9.         klucz = klucz.lower()
  10.         czy_dobry_klucz = True
  11.         #Warunek parzystej ilości liter
  12.         liczba_liter_klucza = len(klucz)
  13.         if not liczba_liter_klucza % 2 == 0:
  14.             czy_dobry_klucz = False
  15.             print(f"Klucz {klucz} jest błędny bo zawiera nieparzystą ilość znaków")
  16.             continue
  17.         #warunek niepowtarzalności liter
  18.         for litera in klucz:
  19.             ile_wystapien = klucz.count(litera)
  20.             if(ile_wystapien > 1):
  21.                 czy_dobry_klucz = False
  22.                 print(f'Klucz {klucz} jest błędny bo powtarza się w nim litera {litera}')
  23.                 break
  24.  
  25.     #Szyfrowanie
  26.     tekst = input("Podaj tekst do zaszyfrowania: ")
  27.     tekst = tekst.lower()
  28.     zaszyfrowany = ""
  29.  
  30.     for litera in tekst:
  31.         if litera in klucz:
  32.             miejsce_w_kluczu = klucz.find(litera)
  33.             if miejsce_w_kluczu % 2 == 0:
  34.                 zaszyfrowany += klucz[miejsce_w_kluczu+1]
  35.             else:
  36.                 zaszyfrowany += klucz[miejsce_w_kluczu-1]
  37.         else:
  38.             zaszyfrowany += litera
  39.  
  40.     print(f"{tekst} po zaszyfrowaniu kluczem {klucz} wygląda następująco: {zaszyfrowany}")
  41.  
  42.     kontynuacja = input("Czy chcesz coś jeszcze zaszyfrować? ")
  43.     kontynuacja = kontynuacja.lower()
  44.     if kontynuacja == "tak":
  45.         czy_kontynuacja = True
  46.         czy_nowy_klucz = input("Czy chcesz zmienić klucz szyfrowania? ")
  47.         czy_nowy_klucz = czy_nowy_klucz.lower()
  48.         if czy_nowy_klucz == "tak":
  49.             czy_dobry_klucz = False
  50.     else:
  51.         czy_kontynuacja = False
  52.  
  53. print("koniec programu")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement