Ученик сначала выводит приветствие, затем сохраняет вопрос в переменной, составляет список ответов и добавляет трёхсекундное ожидание циклом for.
Магический шар: учителю
Ребёнок пишет короткую текстовую программу: вводит вопрос, видит три точки с паузой и получает случайный ответ. Каждый шаг урока можно запустить отдельно. Проект подходит для первого знакомства с Python и повторения основ.
За 30 секунд
Чтобы быстро решить, подходит ли проект для занятия.
Готовый файл magicheskii_shar.py спрашивает один вопрос и показывает один случайный ответ. Повторный запуск позволяет сыграть ещё раз.
Первое занятие или повторение print(), input(), переменных и цикла. Список, import, random.choice(), time.sleep() и flush=True вводятся как готовые строительные блоки с объяснением по строкам.
Одно занятие 45–60 минут или два коротких занятия. Пять самостоятельных шагов; после каждого — запуск и обсуждение результата.
«Сегодня сделаем шар, которому можно задать вопрос. Python напечатает приглашение, запомнит ваш вопрос, три секунды подумает и выберет один из подготовленных ответов. Будем добавлять по одной детали и проверять её сразу.»
Что дети освоят
- Узнавать в коде вывод print(), ввод input() и переменные, объяснять роль кавычек, скобок и знака =.
- Читать список строк и понимать, что random.choice() выбирает один возможный ответ.
- Объяснять, почему цикл for с range(3) делает три точки, зачем нужны отступы и что делает time.sleep(1).
- Различать паузу time.sleep(), вывод на той же строке end="" и немедленный вывод flush=True.
Первое занятие
Готовый сценарий, который можно взять прямо в класс.
Перед началом
- Откройте страницу первого урока и проверьте все пять кнопок «Запустить в IDE». Для шагов с input() вопрос нужно вписать в правое поле «Ответы для input()» до запуска.
- Подготовьте Python IDLE или терминал, если хотите показать появление точек по секунде в обычной консоли. В онлайн IDE вывод тоже поступает постепенно после flush.
- Откройте готовую игру в IDE и скачанный файл. Запустите дважды: случайный ответ может совпасть, поэтому при необходимости сделайте ещё одну попытку.
- Напишите на доске три карточки: print() говорит, input() слушает, переменная запоминает. Отдельно покажите четыре пробела внутри for.
- 0–5 минПокажите готовую игру
Задайте вопрос. Попросите детей заметить: что написали мы, что вывела программа, почему ответ появился не сразу.
- 5–13 минШаг 1: print()
Наберите приветствие. Попросите найти скобки и кавычки и предсказать, на скольких строках появится текст.
- 13–23 минШаг 2: input() и переменная
Дети вводят свой вопрос и показывают строку, которая его запоминает. Сравните question в кавычках и без кавычек.
- 23–32 минШаг 3: случайный ответ
Покажите список из трёх фраз. Пусть дети добавят четвёртую и запустят код несколько раз.
- 32–43 минШаг 4: цикл и пауза
Нарисуйте три клетки-секунды. После каждой появляется точка. Проверьте отступы, end и flush на живом запуске.
- 43–55 минШаг 5: соберите игру
Запустите полный код. Попросите каждого показать, где игра спрашивает, где ждёт и где выбирает ответ.
Карта всех уроков
Одна тема, один вопрос классу и одна методическая подсказка на каждый шаг.
Собери Магический шар
Напиши свою первую консольную игру: задай вопрос, подожди три секунды и получи случайный ответ.
Цель: Собрать работающую игру и суметь объяснить каждую её строку простыми словами.
Спросите: Какая строка получает вопрос игрока?
Ожидаемый ответ: question = input("Задай вопрос: ") — input() ждёт текст, а знак = сохраняет его в question.
Подсказка: На первом занятии не требуйте запоминать все слова сразу. После каждого шага пусть ребёнок сначала предскажет вывод, затем запустит код. Отдельно проверьте кавычки, круглые скобки, четыре пробела в цикле и заполненное поле ответов для input() в онлайн IDE.
Если что-то пошло не так
Типичные места, на которых дети останавливаются.
input() не получает ответ
В онлайн IDE сначала заполните поле «Ответы для input()» справа. В IDLE или терминале введите вопрос после приглашения и нажмите Enter.
Появилось имя question
Если написано print("question"), Python выводит буквальный текст. Для значения переменной нужны print(question) или print("Ты спросил:", question).
Ошибка после for
Проверьте двоеточие в конце for и четыре пробела перед time.sleep() и print(). Последний print() должен стоять без отступа.
Точки появляются вместе
Проверьте flush=True у слова «Думаю» и у точки, а также end="". Если среда всё равно буферизует экран, покажите файл в IDLE или терминале.
Ответ не совпал со снимком
random.choice() выбирает случайно. Снимок показывает один пример запуска; любой ответ из списка правилен.
