Список сложных задач

ФАКТЫ О ЧАКЕ НОРРИСЕ
Условие

Требуется написать программу на языке программирования Python 3. Программа должна вывести в консоль несколько фактов о Чаке Норрисе.

  • Факты можно получить из публичной базы, доступной через API api.chucknorris.io.
  • Для выполнения запросов к API использовать библиотеку python-requests.
  • Для каждой категории получить по одной случайной шутке.
  • Результат, отсортированный по дате создания шутки, вывести в консоль в следующем формате:
Date: <дата создания>
Category: <имя категории>
Text: <текст>
Между каждой записью должна быть пустая строка.
Date: 2020-01-05 13:42:19.324003
Category: dev
Text: Chuck Norris can retrieve anything from /dev/null.

Date: 2020-01-06 13:42:19.576875
Category: sport
Text: Chuck Norris once participated in the running of the bulls. He walked.

Date: 2020-01-07 13:42:19.576875
Category: career
Text: Chuck Norris is actually the front man for Apple. He let's Steve Jobs run the show when he's on a mission. Chuck Norris is always on a mission.
РЕШЕНИЕ
from operator import itemgetter
import requests

joke=[]
chuk_categories= requests.get('https://api.chucknorris.io/jokes/categories').json()

for category in chuk_categories:
__joke_chuk= requests.get('https://api.chucknorris.io/jokes/random?category=' + category)
__joke.append({
____"Date" : joke_chuk.json().get("created_at"),
____"Category" : joke_chuk.json().get("categories")[0],
____"Text" : joke_chuk.json().get("value")
____})

sort_joke = sorted(joke, key=itemgetter("Date"))

for output in sort_joke:
__print("Date: " + output["Date"])
__print("Category: " + output["Category"])
__print("Text: " + output["Text"])
__print()
Когда нужно использовать словари
  • Подсчет числа каких-то объектов. В этом случае нужно завести словарь, в котором ключами являются объекты, а значениями — их количество.

  • Хранение каких-либо данных, связанных с объектом. Ключи — объекты, значения — связанные с ними данные.

  • Установка соответствия между объектами (например, "родитель—потомок"). Ключ — объект, значение — соответствующий ему объект.

  • Если нужен обычный массив, но максимальное значение индекса элемента очень велико, и при этом будут использоваться не все возможные индексы (так называемый "разреженный массив"), то можно использовать ассоциативный массив для экономии памяти.
Задача
Особенностью ассоциативного массива (словарь) является его динамичность: в него можно добавлять новые элементы с произвольными ключами и удалять уже существующие элементы. При этом размер используемой памяти пропорционален размеру ассоциативного массива. Доступ к элементам ассоциативного массива выполняется хоть и медленнее, чем к обычным массивам, но в целом довольно быстро.
# создание кортежа
name_and_age = ('Alex', 30)

# разборка кортежа
(name, age) = name_and_age
name  # 'Alex'
age   # 30
Создайте программу, которая определяет кортеж из 3 параметров от 0 до 255 и деструктурирует его в параметры red, blue, green