R1634PF3HAQNQ

I_R_PY_W13A_M05 Słowniki

Źródło: Roman Synkevych, domena publiczna.

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.

Przykład 1

Kopiujemy poniższy kod, wklejamy do pustego pliku i zapisujemy pod nazwą slownik_wyrazow.py.

Linia 1. wyrazy znak równości otwórz nawias klamrowy. Linia 2. apostrof go apostrof dwukropek otwórz nawias kwadratowy apostrof iść apostrof przecinek apostrof pójść apostrof przecinek apostrof chodzić apostrof zamknij nawias kwadratowy przecinek. Linia 3. apostrof see apostrof dwukropek otwórz nawias kwadratowy apostrof zobaczyć apostrof przecinek apostrof widzieć apostrof przecinek apostrof ujrzeć apostrof zamknij nawias kwadratowy przecinek. Linia 4. zamknij nawias klamrowy. Linia 5. otwórz nawias ostrokątny code style znak równości cudzysłów white minus space dwukropek pre średnik cudzysłów data minus inline zamknij nawias ostrokątny otwórz nawias ostrokątny prawy ukośnik code zamknij nawias ostrokątny.

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.

1
Polecenie 1

Do pliku slownik_wyrazow.py dopisz podany kod:

Linia 1. wyraz znak równości input otwórz nawias okrągły apostrof Podaj wyraz obcy dwukropek apostrof zamknij nawias okrągły. Linia 3. print otwórz nawias okrągły cudzysłów Znaczenia wyrazu cudzysłów przecinek wyraz przecinek cudzysłów to dwukropek cudzysłów zamknij nawias okrągły. Linia 4. print otwórz nawias okrągły asterysk wyrazy otwórz nawias kwadratowy wyraz zamknij nawias kwadratowy zamknij nawias okrągły.

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.

1
Polecenie 2
RnKw6k5Tn9UIC
Wymyśl pytanie na kartkówkę związane z tematem materiału.

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.

1
Polecenie 3

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.

1
Polecenie 4
RJJa1uis0HSIl
Wymyśl pytanie na kartkówkę związane z tematem materiału.