Афиша одинаковая для всех, а диалог должен отвечать на введённый текст. Как сохранить два ответа так, чтобы не перепутать их?
Учителю: подготовка и план на 45 минут
Подготовьте компьютер с клавиатурой, локальную папку с правом записи, Python, распечатку полного кода, бумагу и ручки. Для уроков 1–2 нужен только Python 3.11 или новее. Учитель заранее проверяет запуск Python/IDLE; ученикам не нужны аккаунты и сеть.
Уровень — начинающий, 7 класс. Предпосылки: ввод текста, открытие файла и сохранение в выбранную папку; для урока 2 — print, для урока 3 — порядок команд и присваивание. В парах меняйте роли автора и проверяющего. Сначала ученик прогнозирует результат, затем запускает и сравнивает. Без компьютера выполните бумажную трассировку, учитель покажет заранее полученный вывод или PNG. Это доступная проверка понимания, не замена фактического запуска. Все программы и входные данные даны; регистрация детей не требуется.
| Минуты | Работа | Результат |
|---|---|---|
| 0–5 | Проблема | Вопрос и первое решение |
| 5–14 | Понятия и пример | Способ проверки |
| 14–25 | Практика 1 | Готовый продукт и проверка |
| 25–33 | Практика 2 | Перенос способа |
| 33–40 | Обсуждение | Аргумент и ограничение |
| 40–45 | Индивидуальная проверка | Самостоятельный ответ |
01. Проблемная ситуация
Программа должна спросить псевдоним и кружок, затем вывести ответ. В черновике написано print("name"), и вместо псевдонима появляется name. За 5 минут предположите разницу между текстом в кавычках и именем без кавычек. Личные имена и другие сведения детей не используйте: берём «Лис» и «Код».
02. Понятия и разобранный пример
5–14 минут: 4 минуты на понятия, 3 на пример, 2 на объяснение способа партнёру.
input читает, print сообщает
Переменная связывает имя со значением. В name = input() правая часть сначала читает одну строку ввода, затем строка сохраняется под именем name. Знак = здесь означает присваивание, а не математическое утверждение равенства. input возвращает строку; перевод строки при нажатии Enter в значение не входит.
print(name) обращается к значению переменной; print("name") выводит четыре буквенных символа. Имена name и club должны быть записаны одинаково при присваивании и чтении. В print("Привет,", name) запятая отделяет аргументы; print вставляет между ними один пробел.
input("Псевдоним: ") выводит приглашение и ждёт Enter. Если сразу нажать Enter, получается пустая строка. Пробелы внутри введённой строки сами не удаляются. Сегодня не преобразуем строки в числа и не обещаем проверку любых ошибок: у программы есть контракт — получить две строки, каждая завершается Enter.
Полная программа ниже. Введите Лис, затем Код. На экране после приглашений появятся строки «Привет, Лис» и «Кружок: Код». Сначала выполняются оба ввода, затем оба вывода. Приглашения не являются сохранёнными значениями. Для теста из файла нужны две строки Лис и Код без подписей.
| name = input("Псевдоним: ") club = input("Кружок: ") print("Привет,", name) print("Кружок:", club) |

03. Практика 1. Проверяем материал
Две строки ввода — две переменные
Новая задача — сообщение о встрече. Контракт: сначала строка места, потом строка времени. Не просите адреса или контакты детей; используйте учебные значения.
| Тест | Ввод и требуемый ответ |
|---|---|
| Обычный | Ввод: Библиотека; 15:00. Вывод: «Место: Библиотека», «Время: 15:00» |
| Кириллица и пробел | Ввод: Зал 2; после уроков. Сохранить внутренние пробелы |
| Пустая строка | Место — сразу Enter; время — 16:00. После «Место:» остаётся пробел |
Создайте meeting.py: используйте переменные place и time, два ввода без приглашений и два вывода с подписями. Запустите три теста из таблицы. В протоколе отдельно отмечайте введённые строки и результат; ввод нельзя выдавать за вывод программы. Критерии: два независимых значения, правильный порядок, точные подписи, выполнен тест пустой строки.
Практика 1: разбор и критерии
Решение ниже. Для пустого места первая строка вывода имеет вид «Место: » с одним пробелом перед переводом строки; input не подставляет слово «пусто». Внутренние пробелы «Зал 2» сохраняются. По 1 баллу за каждый критерий.
| place = input() time = input() print("Место:", place) print("Время:", time) |
04. Практика 2. Перенос способа
Повторное присваивание меняет значение
Предскажите результат нового полного фрагмента ниже при вводе сначала Старый, затем Новый. Сколько значений останется у label после второго присваивания? Запустите. Потом создайте отдельную программу, которая сохраняет обе строки в first и second и выводит их по порядку с подписями «Было:» и «Стало:». Критерии: верный прогноз, объяснение перезаписи, сохранение двух значений в новой версии.
| label = input() label = input() print(label) |
Практика 2: разбор и критерии
Фрагмент выводит только «Новый»: второе присваивание меняет значение label, а прежнее под этим именем больше не доступно. Решение с двумя именами ниже. Три критерия по 1 баллу. Нельзя утверждать, что input сам помнит все предыдущие ответы.
| first = input() second = input() print("Было:", first) print("Стало:", second) |
05. Обсуждение и границы вывода
Предложение: «Пустой ввод надо считать поломкой Python». Согласны ли вы? Сопоставьте с контрактом программы и альтернативой — отдельным правилом проверки, которого в текущем коде нет.
Обсуждение: возможный вывод
Пустая строка — допустимый результат input при Enter. Считает ли её приложение ошибкой, решает автор. Наш код её не запрещает; нельзя приписывать ему невидимую проверку. Сегодня достаточно описать поведение и проверить границу.
06. Индивидуальная проверка
Новая программа читает две строки: цвет и предмет. Требуются выводы «Цвет: синий» и «Предмет: куб» при вводе синий, куб. Напишите полный код с переменными color и item. Укажите результат при пустой второй строке. Критерии: два input, две переменные, точные подписи, верное описание пустого ввода.
Индивидуальная проверка: ответ и критерии
Полный код ниже. При пустой второй строке вывод «Предмет: » содержит один завершающий пробел и перевод строки. По 1 баллу за четыре критерия. EOFError при отсутствии второй строки вообще — другой случай: в контракте обе строки должны быть переданы.
| color = input() item = input() print("Цвет:", color) print("Предмет:", item) |
07. Соответствие исходной программе
Пункт программы → действие → результат
| Пункт программы | Действие ученика | Проверяемый результат |
|---|---|---|
| Диалоговые программы. Переменные | Сохраняет две строки | Независимые значения |
| Консольный ввод и вывод | Использует input и print | Диалог проходит три теста |
| Отладка | Различает имя и литерал | Объясняет перезапись |
Источники и права на изображения
Тексты, учебные данные, реплики, программы и схемы подготовлены для уроков портала «Школы России». Числовые серии — учебные модели, не результаты проведённых классом опытов. Схемы авторские, сторонние фотографии не используются. Методические ссылки приведены для учителя; ученик получает все материалы здесь. Проверка первичных источников: 17.10.2026.