📝 Задания: JSON и datetime

⚡ Кратко

  1. Типы JSON и Python.
  2. Найти ошибку в коде с JSON.
  3. Фильтрация оценок по дате.

Задание 1. Типы JSON

Какой тип Python вернёт json.dumps({"x": 1})? А json.loads('{"x": 1}')?

Задание 2. Найдите ошибку

import json
data = {"name": "Alice", "age": 25}
with open("user.json", "w", encoding="utf-8") as f:
    json.dumps(data, f)

Задание 3. JSONDecodeError

Что произойдёт при выполнении json.loads("{'x': 1}")?

Задание 4. Фильтрация низких оценок

Реализуйте функцию filter_low_scores(threshold, start_date, end_date), которая:

  1. Читает grades.json.
  2. Возвращает оценки ниже threshold, полученные в диапазоне дат дд-мм-гггг.
  3. Сохраняет результат в filtered_low_scores.json.
grades = [
    {"name": "Bob", "subject": "Science", "grade": 86, "date": "06-09-2025"},
    {"name": "Diana", "subject": "Science", "grade": 85, "date": "31-01-2025"},
    {"name": "Bob", "subject": "Literature", "grade": 60, "date": "19-07-2025"},
    {"name": "Charlie", "subject": "Literature", "grade": 78, "date": "05-08-2025"}
]

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 2

Зачем использовать f-strings в современном Python?

Вопрос 3

Когда полезен ранний возврат из функции?

Вопрос 4

Что делает аннотация типа в Python?

Вопрос 5

Как лучше обрабатывать ожидаемую ошибку преобразования?

Вопрос 6

Чем отличается = от ==?

Вопрос 7

Что делает print()?