Python zajęcia 7

Python zajęcia 7
Photo by Quino Al / Unsplash

🐍 Funkcja enumerate() w Pythonie pozwala przechodzić przez listę i od razu znać numer każdego elementu.

🔁 Podsumowanie pętli w Pythonie

1. for 

Wiesz, ile razy chcesz coś wykonać

Szybsza niż while

Preferowana w Pythonie

✅ Wymaga iterowalnego obiektu: listy, stringa, zbioru, słownika

🧩 Co to jest iterowalny obiekt?

To obiekt, po którym można przechodzić element po elemencie.

2. while — dopóki warunek jest prawdziwy

✅ Działa tak długo, jak warunek jest prawdziwy

✅ Idealna, gdy liczba powtórzeń jest nieznana z góry

✅ Może tworzyć pętle nieskończone, jeśli warunek nigdy nie przestanie być prawdziwy

✅ Wymaga logicznego warunku

🔐 Szyfrowanie?

To metoda ochrony informacji przed nieautoryzowanym dostępem.

🔄 Proces:

  1. Dane źródłowe np. "tajne hasło"
  2. Szyfrowanie → zamiana na coś w stylu "X9@#l$1z!" (czyli szyfrogram)
  3. Deszyfrowanie → odzyskanie "tajne hasło" z szyfrogramu (tylko z właściwym kluczem)

🔑 Typy szyfrowania

Typ

Opis

Symetryczne

Jeden klucz do szyfrowania i deszyfrowania

Asymetryczne

Dwa klucze: publiczny (szyfruje) i prywatny (odszyfrowuje)

🔒 Funkcja skrótu (hash) to coś podobnego do szyfrowania — ale z jedną kluczową różnicą: nie da się tego odwrócić.

Jesteśmy w stanie namierzyć wirusa po jego hashu 🔍💻

🏛️Szyfr Cezara - jedna z najstarszych i najprostszych metod szyfrowania tekstu  Polega na tym, że każdą literę w wiadomości zastępuje się inną literą, przesuniętą o stałą liczbę pozycji w alfabecie.

📞 Książka kontaktowa - praca domowa

kontakty = {
"Rob" : "[email protected]",
"Bob" : "[email protected]",
}

menu = '''
Wybierz operację do wykonania:
    1 - dopisanie pozycji do książki
    2 - akutalizacja pozycji ksiązki
    3 - usunięcie pozycji książki
    4 - wydruk imion z książki
    5 - wydruk całej książki z kontaktami
    6 - koniec programu'''

while True:
    print(menu)
    wybor=int(input('Podaj kod operacji ='))

    if wybor == 1:
        imie=input('Podaj imię:')
        if imie not in kontakty:
            email = input(f'Podaj email dla kontaktu {imie}:')
            kontakty[imie] = email
            print('Dodano kontakt.')
        else:
            print('Podany kontakt już istnieje.')

    elif wybor == 2:
        imie = input('Podaj nazwę kontaktu do aktualizacji:')
        if imie in kontakty:
            nowy_email = input(f"Podaj nowy email dla kontaktu {imie}: ")
            kontakty[imie] = nowy_email
            print(f"Zaktualizowano kontakt: {imie} → {nowy_email}")
        else:
            print("Nie znaleziono kontaktu.")
    
    elif wybor == 3:
        imie = input('Podaj nazwę kontaktu do usunięcia:')
        if imie in kontakty:
            del kontakty[imie]
            print(f"Usunięto kontakt: {imie}")
        else:
            print("Nie znaleziono kontaktu.")

    elif wybor == 4:
        for imie in kontakty:
            print(", ".join(kontakty))
    elif wybor == 5:
        print(kontakty)
    else:
        print("Dziękuję za skorzystanie z ksiązki! ")
        break