I_R_PY_W13A_M05 Słowniki
Jak zapamiętać znaczenia wyrazu?
Kiedy zaglądamy do słownika języka obcego, na początku szukamy wyrazu obcego, a później odczytujemy odpowiadające mu znaczenia. Podobnie zbudowane są słowniki rozumiane jako struktury danych. Zawierają one klucze i odpowiadające im wartości. Relację między kluczem i wskazywaną wartością nazywamy odwzorowaniem (ang. mapping). Klucze pełnią podobną rolę jak indeksy w sekwencjach (listach i krotkach), ale słowniki to typ niesekwencyjny.
Od wersji 3.7 Pythona porządek dodawania kluczy i wartości do słownika jest zapamiętywany.
Napiszmy prosty program, który będzie pozwalał sprawdzać znaczenia obcych wyrazów. Jego najważniejszą częścią będzie baza słów, wykorzystamy słownik.
Kopiujemy poniższy kod, wklejamy do pustego pliku i zapisujemy pod nazwą slownik_wyrazow.py.
Kluczami w naszym słowniku są ciągi znaków 'go', 'see', a wartości (znaczenia wyrazów), na które wskazują klucze, zapisane zostały w listach. Symbolem relacji między kluczem i wartością jest dwukropek.
Kluczami w słowniku mogą być napisy, liczby czy krotki. Klucze nie mogą się powtarzać. Wartościami mogą być ciągi znaków, liczby, listy, krotki czy słowniki.
Do pliku slownik_wyrazow.py dopisz podany kod:
Po pobraniu wyrazu obcego od użytkownika chcemy wydrukować jego znaczenia zapisane w słowniku. Odczytywanie danych ze słownika polega na podaniu jego nazwy i klucza w nawiasach kwadratowych, np. wyrazy[wyraz].
Symbol * (gwiazdki) w instrukcji print() jest opcjonalny, pozwala wydrukować elementy listy jako napisy oddzielone spacjami.
Jeżeli po uruchomieniu programu podamy wyraz, który w słowniku nie występuje, zobaczymy komunikat błędu KeyError. Spróbujmy to poprawić. Drukowanie znaczenia wyrazu poprzedzimy sprawdzeniem, czy podany wyraz jest kluczem w słowniku. Posłuży nam do tego wyrażenie wyraz in wyrazy, które interpretujemy jako sprawdzenie, czy wyraz jest kluczem w słowniku wyrazy. Wartością tego wyrażenia jest prawda (True) albo fałsz (False), możemy więc użyć go w instrukcji warunkowej.
Operator in może być używany również w odniesieniu do list, krotek czy zbiorów. Pozwala sprawdzić, czy podany element należy do danej struktury. W dalszej części materiału znajdziesz kolejne przykłady.
W programie slownik_wyrazow.py dodaj instrukcję warunkową sprawdzającą, czy podany wyraz jest kluczem w słowniku. Jeżeli tak, wydrukuj jego znaczenia, w przeciwnym razie komunikat Brak wyrazu w słowniku.
Wskazówka: użyj instrukcji if wyraz in wyrazy: ... else ...
Zwróć uwagę na poprawne wcięcia.

