Печать: Ctrl+P → ориентация альбомная, масштаб 100 % (не «вписать в лист»), поля нет, «печать фона» включить — иначе пропадут рамки таблиц. На листе две одинаковые карточки: разрезать по пунктиру посередине, получится две штуки формата A5. Эта серая рамка на бумагу не печатается.
10 класс

Разработка подпрограмм

Одиннадцатое занятие углублённого курса, практическая работа: разработка сверху вниз, договор функции, вызов внутри вызова, функция из функций, проверка кирпича отдельно, печатающий кирпич и None, порядок def, поиск с ранним return; четыре программы из двух функций — уроки 21–22 плана

Сверху вниз

Задачу делим на подзадачи: основная программа пишется так, будто нужные функции уже есть, потом каждая функция — отдельно. Кирпич (rev, sumdiv, is_leap) — внизу, из него строится следующая (is_pal, is_abundant, days_in_month).

Договор

Имя, параметры по порядку, что возвращает. days_in_month(m, y) — сначала месяц, потом год: аргументы встают по порядку, а не по смыслу. Договор пишут строкой документации в тройных кавычках.

Кирпич проверяем отдельно

print(rev(7), rev(120)) на крайних числах — до того, как строить из него дальше. Проверил — убрал print.

Вызов внутри вызова

f(g(x)): сначала g, её результат — аргумент f. Функция из функций: вызовы изнутри тела досчитываются раньше, чем внешняя вернёт своё.

Порядок def

Имя внутри функции ищется в момент вызова: def между собой в любом порядке, но все выше первого вызова. Иначе NameError.

Три ошибки

Кирпич печатает вместо return — наверх уходит None. Аргументы не в том порядке — неверный ответ без ошибки. return «не нашёл» внутри цикла — ответ на первом же числе; его место после цикла.

Тренажёр и разбор темы: https://kibersvet.ru/10/razrabotka-podprogramm/
Материалы подготовлены с использованием технологий искусственного интеллекта.
10 класс

Разработка подпрограмм

Одиннадцатое занятие углублённого курса, практическая работа: разработка сверху вниз, договор функции, вызов внутри вызова, функция из функций, проверка кирпича отдельно, печатающий кирпич и None, порядок def, поиск с ранним return; четыре программы из двух функций — уроки 21–22 плана

Сверху вниз

Задачу делим на подзадачи: основная программа пишется так, будто нужные функции уже есть, потом каждая функция — отдельно. Кирпич (rev, sumdiv, is_leap) — внизу, из него строится следующая (is_pal, is_abundant, days_in_month).

Договор

Имя, параметры по порядку, что возвращает. days_in_month(m, y) — сначала месяц, потом год: аргументы встают по порядку, а не по смыслу. Договор пишут строкой документации в тройных кавычках.

Кирпич проверяем отдельно

print(rev(7), rev(120)) на крайних числах — до того, как строить из него дальше. Проверил — убрал print.

Вызов внутри вызова

f(g(x)): сначала g, её результат — аргумент f. Функция из функций: вызовы изнутри тела досчитываются раньше, чем внешняя вернёт своё.

Порядок def

Имя внутри функции ищется в момент вызова: def между собой в любом порядке, но все выше первого вызова. Иначе NameError.

Три ошибки

Кирпич печатает вместо return — наверх уходит None. Аргументы не в том порядке — неверный ответ без ошибки. return «не нашёл» внутри цикла — ответ на первом же числе; его место после цикла.