Проект · Занятие 1 из 4День начинается с данных
SilverTests.ruapi · dashboard · старт проекта
День начинается с данных
Занятие 1 — Знакомство с проектом, выбор API, первый запрос
1О проекте
Вы создаёте консольное приложение, которое каждое утро собирает данные из интернета через API и показывает их в виде красивой сводки. Что именно показывать — решаете вы.
Проект рассчитан на 3 рабочих занятия + защита. На каждом занятии вы показываете учителю прогресс и получаете баллы за работу. Между занятиями — домашняя работа.
Программа должна уметь
Получать данные из нескольких API. Обрабатывать их (а не выводить сырой JSON). Показывать сводку в оформленном виде. Сохранять сводку в файл. Загружать ранее сохранённую сводку по дате.
Меню:
[1] Обновить — перезапросить все API
[2] Сохранить — сохранить сводку в файл (2026-04-15.txt)
[3] История — загрузить сводку за указанную дату
[0] Выход — завершить работу
Примерный вид дашборда (ваш может выглядеть по-другому)
2Источники данных
Все API ниже — бесплатные, без регистрации. Можно использовать любые или найти свои.
| Сервис |
Что даёт |
Адрес |
| Open-Meteo |
погода и прогноз |
api.open-meteo.com |
| ЦБ РФ |
курсы валют |
cbr-xml-daily.ru |
| Cat Facts |
факты о кошках |
catfact.ninja |
| Nager.Date |
праздники |
date.nager.at |
Бонус за свои находки. Если найдёте API, которого не было на уроке, и сможете объяснить его на защите, — это даёт дополнительные баллы. Ищите: free public api no key или github.com/public-apis/public-apis.
3Полный рубрикатор
Максимум — 16 баллов. Две части: работа на занятиях (6 баллов) и итоговый результат на защите (10 баллов).
Часть A — работа на занятиях (6 баллов)
На каждом из трёх рабочих занятий учитель проверяет прогресс. Не нужно быть гением — нужно работать.
Занятие 1 — Стартмакс. 2
2
Работающий запрос к API + план блоков дашборда
1
Есть попытка, но запрос не заработал или план не готов
Занятие 2 — Логикамакс. 2
2
Меню работает, сводка сохраняется и загружается
1
Есть прогресс, но не всё готово
0
Нет прогресса с прошлого раза
Занятие 3 — Красотамакс. 2
2
Оформление готово, тестирование пройдено, README есть
1
Есть прогресс, но не всё доделано
0
Нет прогресса с прошлого раза
Часть B — итоговый результат (10 баллов)
B1. Сбор данныхмакс. 2
0
Нет работающих запросов
B2. Новизнамакс. 2
2
Есть API не с урокаНайдено самостоятельно, объяснено на защите
0
Нет работающих запросов
B3. Интерфейсмакс. 2
2
Продуманный дизайнЦвет, рамки, маркеры, информация выровнена
1
Базовое оформление — заголовки, разделение на строки
0
Неструктурированный текст
B4. Файлы и менюмакс. 2
2
Полное меню + сохранение + загрузка истории
1
Меню неполное или нет работы с файлами
B5. Устойчивостьмакс. 2
2
0 баговНет интернета, неверный ввод, пустой ответ — всё обработано
0
3+ багов или программа падает
Перевод в оценку
| Баллы |
Оценка |
|
| 15–16 |
7 |
|
| 13–14 |
6 |
|
| 11–12 |
5 |
|
| 9–10 |
4 |
|
| 6–8 |
3 |
|
| 3–5 |
2 |
|
| 0–2 |
1 |
|
4Задание на первое занятие
Что делаем на уроке (80 мин)
- Прочитать описание проекта и рубрикатор (10 мин)
- Выбрать блоки для своего дашборда — записать список (5 мин)
- Скачать стартовый шаблон
starter.py, открыть в редакторе (3 мин)
- Подключить первый API:
requests.get(), получить данные, вывести одно поле (25 мин)
- Подключить второй API, начать третий (25 мин)
- Кто быстрее — поискать своё API, которого не было на уроке (10 мин)
- Показать учителю результат (2 мин) и получить первые баллы
Что показать учителю в конце урока (на 2 балла)
- Программа запускается и делает хотя бы один успешный запрос к API
- Данные выводятся на экран (пусть некрасиво — главное, что пришли)
- Есть записанный план: какие блоки и какие API вы хотите использовать
Домашняя работа
- Подключить все выбранные API (минимум 2, лучше 3)
- Сделать меню с командами: обновить, выход
- Поискать своё API, которого не было на уроке