Піти на https://www.wordsapi.com/ і скопіювати API response для будь-якого слова на ваш вибір.
word_lookup = <словник, що ви скопіюєте>
- Обирайте якесь не дуже рідкісне слово, аби там були різні атрибути і кілька значень.
- Для кожної функції, що ви створите:
- збережіть результат у якусь змінну (якщо функція щось повертає)
- виведіть результат з якимось підписом (щоб не лише ви знали, що це означає)
- передбачте якесь повідомлення у функції, якщо у word_lookup немає того атрибута, який ви шукаєте.
У прикладах я використовуватиму слово shenanigan.
1. Напишіть функцію count_results, яка повертає скільки було результатів до вашого слова (список word_lookup["results"])
Приймає на вхід: словник word_lookup
Повертає: ціле число - кількість результатів
2. Напишіть функцію pronunciation, що
Приймає на вхід: словник word_lookup
Повертає: "pronunciation" для вашого слова
3. Напишіть функцію word_definitions, яка проходиться по всіх словниках у word_lookup["results"] і друкує визначення слова.
Приймає на вхід: словник word_lookup
Повертає: нічого не повертає, друкує "definition" для цього слова, кожну з нового рядка
4. Напишіть функцію most_common_POS, яка проходиться по всіх словниках у word_lookup["results"], зберігає всі "partOfSpeech" у список, повертає ту partOfSpeech, яка зустрічається найчастіше (використовуйте Counter)
Приймає на вхід: словник word_lookup
Повертає: partOfSpeech, яка зустрічається найчастіше
5. Для довільного списку (можете взяти список синонімів вашого слова) напишіть лямбда-функцію з map(), щоб перетворити список рядків з нижнього регістру у верхній.
6. Напишіть функцію synonyms, яка проходиться по всіх словниках у word_lookup["results"] (for цикл), зберігає всі синоніми з "synonyms" у один список (.append або .extend), повертає унікальні значення з того списку.
Приймає на вхід: словник word_lookup
Повертає: унікальні синоніми
Приклад результату:
{'deviltry', 'rascality', 'trickery', 'guile', 'mischievousness', 'mischief', 'devilment', 'roguishness', 'devilry', 'roguery', 'chicanery', 'wile', 'chicane', 'mischief-making'}
7. Напишіть функцію is_type_of, яка проходиться по всіх словниках у word_lookup["results"] (for цикл), і для кожного елементу в списку "typeOf" (ще один for цикл всередині) друкує рядок "<Word>" is a type of <typeOf>
Приймає на вхід: словник word_lookup
Повертає: нічого не повертає, друкує всі typeOf записи.
Приклад результату:
"Shenanigan" is a type of deception.
"Shenanigan" is a type of deceit.
...
Зверніть увагу, що "Shenanigan" з великої букви.
8. Напишіть функцію syllables, яка дістає склади з "syllables" і повертає їх одним рядком через дефіс ('-'.join(...)).
Приймає на вхід: словник word_lookup
Повертає: повертає рядок складів через дефіс.
Приклад результату:
'she-nan-i-gan'
9. Функція definition_and_more. Робить те саме, що і функція з завдання 3, але також приймає Keyword Arguments additional_parameter, який приймає назву якогось додаткового атрибуту, який треба теж вивести (по замовчуванню None)
Приймає на вхід: словник word_lookup та (опційно) якийсь додатковий параметр.
Повертає: нічого не повертає, друкує визначення і, можливо, щось ще.
Приклад виклику функції:
definition_and_more(word_lookup, additional_parameter = "hasTypes")
Результат (форматування довільне, головне, що було все, що ви викликали):
* reckless or malicious behavior that causes discomfort or annoyance in others
hasTypes: vandalism, hell, hooliganism, malicious mischief, monkey business, blaze
* the use of tricks to deceive someone (usually to extract money from them)
hasTypes: put-on, fraudulence, hoax, dupery, fraud, humbug, jugglery
10. Функцій, що приймає будь-яку кількість атрибутів з тих, що є в "results" і виводить значення тих атрибутів.
(Якщо атрибутів немає, то виводиться лише word_lookup["word"])
Приклад виклику функції:
word_anything(word_lookup, 'hasTypes', 'partOfSpeech')
Результат (форматування довільне, головне, що було word_lookup["word"] і ті атрибути, що ви ввели):
SHENANIGAN
----------
hasTypes : ['vandalism', 'hell', 'hooliganism', 'malicious mischief', 'monkey business', 'blaze']
partOfSpeech : noun
----------
hasTypes : ['put-on', 'fraudulence', 'hoax', 'dupery', 'fraud', 'humbug', 'jugglery']
partOfSpeech : noun
----------