Przejdź do https://www.wordsapi.com/ i skopiuj odpowiedź API dla dowolnego słowa, które wybierzesz.
word_lookup = < słownik, który skopiujesz >
- Wybierz jakieś niezbyt rzadkie słowo, aby były różne atrybuty i kilka znaczeń.
- Dla każdej funkcji, którą stworzysz:
- zapisz wynik w jakiejś zmiennej (jeśli funkcja coś zwraca)
- wypisz wynik z jakimś podpisem (żeby nie tylko ty wiedział, co to oznacza)
- przewiduj jakieś powiadomienie w funkcji, jeśli w word_lookup nie ma atrybutu, którego szukasz.
W przykładach będę używać słowa shenanigan.
1. Napisz funkcję count_results, która zwraca ile było wyników dla twojego słowa (lista word_lookup["results"])
Przyjmuje na wejściu: słownik word_lookup
Zwraca: liczba całkowita - liczba wyników
2. Napisz funkcję pronunciation, która
Przyjmuje na wejściu: słownik word_lookup
Zwraca: "pronunciation" dla twojego słowa
3. Napisz funkcję word_definitions, która przechodzi przez wszystkie słowniki w word_lookup["results"] i drukuje definicję słowa.
Przyjmuje na wejściu: słownik word_lookup
Zwraca: nic nie zwraca, drukuje "definition" dla tego słowa, każdą w nowym wierszu
4. Napisz funkcję most_common_POS, która przechodzi przez wszystkie słowniki w word_lookup["results"], zapisuje wszystkie "partOfSpeech" w liście, zwraca tę partOfSpeech, która występuje najczęściej (użyj Counter)
Przyjmuje na wejściu: słownik word_lookup
Zwraca: partOfSpeech, która występuje najczęściej
5. Dla dowolnej listy (możesz wziąć listę synonimów swojego słowa) napisz funkcję lambda z map(), aby przekształcić listę ciągów z małych liter na wielkie.
6. Napisz funkcję synonyms, która przechodzi przez wszystkie słowniki w word_lookup["results"] (pętla for), zapisuje wszystkie synonimy z "synonyms" w jednej liście (.append lub .extend), zwraca unikalne wartości z tej listy.
Przyjmuje na wejściu: słownik word_lookup
Zwraca: unikalne synonimy
Przykład wyniku:
{'deviltry', 'rascality', 'trickery', 'guile', 'mischievousness', 'mischief', 'devilment', 'roguishness', 'devilry', 'roguery', 'chicanery', 'wile', 'chicane', 'mischief-making'}
7. Napisz funkcję is_type_of, która przechodzi przez wszystkie słowniki w word_lookup["results"] (pętla for), i dla każdego elementu w liście "typeOf" (jeszcze jedna pętla for wewnątrz) drukuje ciąg "<Word>" is a type of <typeOf>
Przyjmuje na wejściu: słownik word_lookup
Zwraca: nic nie zwraca, drukuje wszystkie wpisy typeOf.
Przykład wyniku:
"Shenanigan" is a type of deception.
"Shenanigan" is a type of deceit.
...
Zwróć uwagę, że "Shenanigan" z wielkiej litery.
8. Napisz funkcję syllables, która wyciąga sylaby z "syllables" i zwraca je jednym ciągiem oddzielonym myślnikiem ('-'.join(...)).
Przyjmuje na wejściu: słownik word_lookup
Zwraca: zwraca ciąg sylab oddzielonych myślnikiem.
Przykład wyniku:
'she-nan-i-gan'
9. Funkcja definition_and_more. Robi to samo, co funkcja z zadania 3, ale także przyjmuje Keyword Arguments additional_parameter, który przyjmuje nazwę jakiegoś dodatkowego atrybutu, który trzeba też wyświetlić (domyślnie None)
Przyjmuje na wejściu: słownik word_lookup oraz (opcjonalnie) jakiś dodatkowy parametr.
Zwraca: nic nie zwraca, drukuje definicję i, być może, coś jeszcze.
Przykład wywołania funkcji:
definition_and_more(word_lookup, additional_parameter = "hasTypes")
Wynik (formatowanie dowolne, głównie, że było wszystko, co wywołałeś):
* lekkomyślne lub złośliwe zachowanie, które powoduje dyskomfort lub irytację u innych
hasTypes: wandalizm, piekło, chuligaństwo, złośliwe psoty, interesy małp, ogień
* użycie sztuczek do oszukania kogoś (zwykle w celu wyłudzenia pieniędzy)
hasTypes: udawanie, oszustwo, mistyfikacja, oszustwo, oszustwo, bzdura, sztuczki
10. Funkcja, która przyjmuje dowolną liczbę atrybutów z tych, które są w "results" i wyświetla wartości tych atrybutów.
(Jeśli atrybutów nie ma, to wyświetla tylko word_lookup["word"])
Przykład wywołania funkcji:
word_anything(word_lookup, 'hasTypes', 'partOfSpeech')
Wynik (formatowanie dowolne, głównie, że było word_lookup["word"] i te atrybuty, które wprowadziłeś):
SHENANIGAN
----------
hasTypes : ['wandalizm', 'piekło', 'chuligaństwo', 'złośliwe psoty', 'interesy małp', 'ogień']
partOfSpeech : rzeczownik
----------
hasTypes : ['udawanie', 'oszustwo', 'mistyfikacja', 'oszustwo', 'oszustwo', 'bzdura', 'sztuczki']
partOfSpeech : rzeczownik
----------