View difference between Paste ID: AQzc6q3j and Npv3WfhN
SHOW: | | - or go back to the newest paste.
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")