Нажмите ОК, если Вы выражаете свое согласие на обработку Ваших персональных данных в соответствии с Согласием на обработку персональных данных и Политикой конфиденциальности. Вы можете запретить обработку cookies через браузер.
ОК
  • /
  • /

Урок программирования на Python для детей: игра «Кто хочет стать миллионером»

«Кто хочет стать миллионером?» — классическая викторина, где игрок отвечает на вопросы и зарабатывает деньги. С каждым правильным ответом сумма растет: 1000, 5000, 10000 рублей и так далее. Ошибка завершает игру и выводит итоговый выигрыш. Сегодня на уроке программирования на Python для детей мы напишем эту игру.
В процессе изучим переменные, ввод данных через input(), условный оператор if-else, бесконечный цикл while True и команду break. Все эти конструкции — база программирования на Python.

Другие полезные ресурсы:

Также приглашаем на наш онлайн-курс «Обучение программированию на Python для детей», где мы учим создавать игры, приложения и ботов. Курс построен на практике с первого занятия, а первый урок курса можно пройти бесплатно!

Попробуйте бесплатно!

Оставьте свой номер: мы позвоним, чтобы записать на бесплатное занятие и ответить на все ваши вопросы.

Шаг 1. Настраиваем среду разработки

Прежде чем писать код, подготовим рабочее место. Для создания программ на Python нам понадобятся два компонента: сам язык Python и редактор кода. В качестве редактора мы будем использовать Visual Studio Code (сокращённо VS Code). Это бесплатное приложение, оно одинаково хорошо подходит и профессионалам, и школьникам, которые только изучают программирование на Питоне.

Скачивание и установка VS Code

Откройте браузер и перейдите на официальный сайт Visual Studio Code: code.visualstudio.com. Главная страница автоматически определит вашу операционную систему и предложит подходящий установочный файл. Нажмите на кнопку загрузки.

После завершения загрузки запустите установщик. Процесс установки стандартный:
  • примите лицензионное соглашение;
  • выберите папку для установки (можно оставить по умолчанию);
  • на шаге «Выбор дополнительных задач» обязательно отметьте пункт «Добавить действие “Открыть с помощью Code” в контекстное меню файлов и папок» — это сильно упростит дальнейшую работу.

Завершите установку и запустите VS Code.

Установка плагина Python

VS Code сам по себе не умеет исполнять Python-код — это просто редактор. Чтобы превратить его в полноценную среду разработки, нужно установить расширение (плагин) для Python.

В левой боковой панели найдите иконку с четырьмя квадратами — это меню Extensions (Расширения). Нажмите на нее. В строке поиска введите «Python». Первым результатом будет расширение от Microsoft с названием Python. Убедитесь, что автор — Microsoft, и нажмите кнопку Install (Установить).

После установки расширение автоматически включит подсветку синтаксиса, подсказки по коду, автодополнение и возможность запускать программы прямо из редактора — что очень удобно при обучении детей программированию на Python.
Скидка 10% для новых клиентов при записи в день обращения*
Отправьте заявку, и мы свяжемся с вами для консультации
* Скидка действует по промокоду на покупку первого абонемента от 12 занятий и более в день обращения. Новым считается клиент, прежде ни разу не приобретавший абонемент в школе.

Переключение интерфейса на русский язык

Если вам комфортнее работать с интерфейсом на русском языке, снова откройте вкладку Extensions, введите в поиске «Russian» и установите расширение Russian Language Pack for Visual Studio Code. После установки перезапустите редактор — интерфейс станет русскоязычным.

Создаем папку проекта и файл millioner.py

Теперь подготовим место для нашей игры на Python для детей.
На верхней панели выберите Файл → Открыть папку… (или File → Open Folder…). Создайте на компьютере новую папку, например, PythonProjects, и внутри нее папку millioner. Выберите эту папку и нажмите «Выбор папки».

В левой части экрана появится область Проводник. Наведите курсор на название папки, нажмите иконку «Новый файл», введите имя millioner.py и подтвердите.
Обратите внимание: расширение .py обязательно — именно оно сообщает VS Code и системе, что это файл с исходным кодом Python.

Все, рабочая среда готова. Мы можем писать код, запускать его и сразу видеть результат.

Шаг 2. Запускаем бесконечный цикл и приветствуем игрока

Когда игрок запускает программу, она не должна завершаться после первого действия. Викторина подразумевает последовательность вопросов, а значит, программа должна работать непрерывно, пока не наступит условие остановки — неверный ответ. Для программирования на Python непрерывного выполнения детям нужно научиться использовать бесконечные циклы.

Конструкция while True

В Python цикл while повторяет блок кода, пока условие истинно. Если записать while True:, условие всегда будет истинным — цикл станет бесконечным. Он не остановится сам по себе, только если внутри него не встретится команда принудительного выхода.
Это именно то, что нам нужно: игра работает, задает вопросы, проверяет ответы и продолжается до тех пор, пока игрок не ошибется.

Синтаксически цикл записывается так:
while True:
    # код, который будет повторяться

Обратите внимание на двоеточие в конце строки и обязательный отступ внутри блока. Все инструкции, которые должны выполняться внутри цикла, сдвигаются вправо на 4 пробела. В VS Code отступ создается автоматически после нажатия Enter.

Пустые print() для читаемости консоли

Лучший интерфейс для детей у игры на Python — это консоль (терминал) в VS Code, ведь так проверять код можно прямо в редакторе.

Но если выводить текст сплошным потоком, строки будут слипаться, и игроку станет трудно ориентироваться. Чтобы сделать вывод аккуратным, мы используем пустые вызовы print() без аргументов. Они просто переводят курсор на новую строку, создавая визуальные отступы:

print()
print()
print()

В дальнейшем мы будем вставлять такие же блоки между логическими частями игры. Это не влияет на логику программы, но важно для удобства восприятия.

Запрос имени через input()

Функция input() — основной способ взаимодействия с пользователем в консольных программах. Когда программа доходит до этой строки, она приостанавливает выполнение, выводит текст-подсказку и ждет, пока пользователь введет что-то с клавиатуры и нажмет Enter. Введенные данные возвращаются в программу в виде строки.

Синтаксис вызова:

name = input("Ответ - ")

Здесь "Ответ - " — это приглашение к вводу. Игрок видит эту строку и понимает, что нужно написать ответ. После нажатия Enter введенный текст сохраняется в переменную name. Важно: input() всегда возвращает строку, даже если пользователь ввел число.

Сохраняем имя и выводим приветствие

Переменная name теперь хранит имя игрока. Чтобы обратиться к нему в приветствии, используем операцию конкатенации (склеивания) строк:

print("Очень приятно, " + name)

Знак + соединяет текст в кавычках и содержимое переменной name. В результате в консоль выводится эта фраза с именем игрока: «Очень приятно, Александр». Между словом с запятой «приятно,» и именем добавлен пробел внутри кавычек, иначе склейка дала бы «приятно,Александр».

Если запустить этот код сейчас, в консоли появится приветствие, запрос имени, а затем персонализированное обращение. Но после вывода приветствия программа не завершится. Она вернется в начало цикла и снова спросит имя. Это ожидаемое поведение бесконечного цикла.

На следующем шаге мы добавим в нашу игру на Python интересные детям вопросы и остановим ее при неверном ответе. Это станет первым полноценным игровым взаимодействием в нашей викторине.

Шаг 3. Первый вопрос и переменная банка в игре на Python для детей

После приветствия мы переходим к главной механике викторины — накоплению выигрыша. Для хранения текущей суммы денег нам потребуется переменная. В Python переменная создается в момент первого присваивания значения.

Создаем переменную bank

Переменная bank будет хранить целое число — количество выигранных рублей. Начальное значение равно нулю, так как игрок еще не ответил ни на один вопрос. Запись выглядит так:

bank = 0

Тип данных определяется автоматически: Python понимает, что 0 — это целое число (int). В дальнейшем мы будем увеличивать bank на сумму, соответствующую правильному ответу.

Выводим вопрос и варианты ответов

Для текстовой викторины нам нужно не только задать вопрос, но и предложить несколько вариантов ответа, обозначенных буквами. Это делается последовательными вызовами print(). Важно оставлять пустые строки между блоками кода, чтобы консоль не превращалась в сплошной текст — мы уже использовали print() без аргументов ранее.

print()
print()
print()

print("С какого месяца начинается зима?")
print("Варианты ответов:")
print("А. Октябрь")
print("Б. Ноябрь")
print("В. Декабрь")
print("Г. Январь")

print()
print()
print()

Здесь каждый вариант выводится на отдельной строке. Буквы выбраны латинские, но в ответе игрок может ввести как русскую, так и латинскую раскладку — важно, что символ «В» в обоих случаях выглядит одинаково. Однако регистр может отличаться: игрок может написать в или В. Это мы учтем при проверке.

Получаем ответ через input()

Используем функцию input(). Приглашение к вводу лучше сделать четким, например: "Ответ - ". Результат сохраняем в переменную ans1 (от англ. answer).

ans1 = input("Ответ - ")

Переменная ans1 будет содержать строку, которую ввел игрок.

Сравниваем ответ с правильным (учитываем регистр)

Сравниваем ответ с правильным (учитываем регистр)
Правильный ответ на вопрос — «В». Но игрок может ввести В (заглавную) или в (строчную). Python различает регистр: "В" и "в" — это две разные строки. Чтобы оба варианта считались верными, мы используем логический оператор or (или). Конструкция if проверяет два условия, и если хотя бы одно истинно, блок выполняется. Условный оператор if-else — фундамент, на котором держится программирование на Python — дети, изучающие этот язык, знакомятся с ним в самом начале обучения.
Наш блок кода:

if ans1 == "В" or ans1 == "в":
    print("Это правильный ответ!")
    bank += 1000
    print("Твой банк: " + str(bank))
else:
    print("К сожалению, ответ неправильный(((")
    print("Игра окончена!")
    print("Твой банк: " + str(bank))
    break

Разберем каждую строку:

if ans1 == "В" or ans1 == "в": — сравниваем введенную строку с образцом. Если хотя бы одно сравнение истинно, условие считается выполненным.

Внутри блока if:
  • Выводится сообщение о правильном ответе.
  • bank += 1000 — это краткая форма записи bank = bank + 1000. К текущему значению переменной прибавляется 1000.
  • print("Твой банк: " + str(bank)) — для вывода числа вместе со строкой его нужно преобразовать в строку функцией str(). Без этого Python вызовет ошибку, потому что нельзя склеить строку и число оператором +.

В блоке else (выполняется, если условие if ложно):
  • Сообщение о проигрыше.
  • Вывод итоговой суммы (преобразование в строку обязательно).
  • break — принудительно завершает бесконечный цикл while True. Программа останавливается. Без break проигрыш не останавливал бы игру, и вопросы продолжались бы, что противоречит правилам викторины.

Что важно запомнить

  • Переменная bank хранит сумму выигрыша и изменяется оператором +=.
  • Функция input() всегда возвращает строку, даже если введена буква.
  • Результат сравнения строк зависит от регистра, поэтому используют or.
  • break немедленно завершает цикл и, следовательно, программу (если после цикла нет другого кода).
  • Преобразование числа в строку (str(bank)) необходимо для вывода через +.

Этот код — первый полноценный игровой цикл. На его основе мы будем добавлять следующие вопросы и увеличивать банк.
Когда мы добавим больше вопросов, викторина превратится в законченную игру на Puthon, интересную и детям, и взрослым.

Шаг 4. Добавляем новые вопросы

Викторина не может состоять из одного вопроса. Нам нужно добавить второй, третий, а в перспективе — сколько угодно. При этом логика остается той же: вывод вопроса, прием ответа, проверка, начисление баллов или остановка цикла. Повторять один и тот же код вручную — нормально для первых шагов; позже вы узнаете, как автоматизировать этот процесс с помощью списков и циклов, но сейчас важно понять саму структуру.

Копируем структуру первого вопроса

Внутри бесконечного цикла, сразу после блока проверки первого ответа, мы размещаем точно такую же конструкцию для второго вопроса. Она включает:

  • пустые строки для отступов;
  • вывод текста вопроса и вариантов ответа;
  • приглашение input() с сохранением ответа в новую переменную;
  • условный оператор с проверкой правильного варианта (с учетом регистра);
  • начисление призовых и вывод банка в случае успеха;
  • блок else с сообщением о проигрыше и break.

Важно: переменная для ответа должна иметь уникальное имя — ans2, ans3 и так далее. Если использовать ans1 повторно, значение первого ответа будет перезаписано, и при неверном ответе на второй вопрос игрок не увидит правильную историю. Хотя технически программа будет работать, имена переменных должны отражать логику.

Сумма начисления также меняется: например, для второго вопроса — 5000 рублей, для третьего — 10 000 рублей.

Пример полного кода игры на Python для детей

while True:
    print()
    print()
    print()

    print("Привет! Это игра Кто хочет стать миллионером!")
    print("Как тебя зовут?")
    name = input("Ответ - ")

    print()
    print()
    print()

    print("Очень приятно, " + name)
    print("Итак, первый вопрос на тысячу рублей!")

    print()
    print()
    print()

    bank = 0

    # ---------- Первый вопрос ----------
    print("С какого месяца начинается зима?")
    print("Варианты ответов:")
    print("А. Октябрь")
    print("Б. Ноябрь")
    print("В. Декабрь")
    print("Г. Январь")

    print()
    print()
    print()

    ans1 = input("Ответ - ")

    if ans1 == "В" or ans1 == "в":
        print("Это правильный ответ!")
        bank += 1000
        print("Твой банк: " + str(bank))
    else:
        print("К сожалению, ответ неправильный(((")
        print("Игра окончена!")
        print("Твой банк: " + str(bank))
        break

    # ---------- Второй вопрос ----------
    print()
    print()
    print()

    print("Следующий вопрос на 5000 рублей!")
    print("Когда наступает Новый год?")
    print("Варианты ответов:")
    print("А. 31 декабря")
    print("Б. 1 января")
    print("В. 2 января")
    print("Г. 30 декабря")

    print()
    print()
    print()

    ans2 = input("Ответ - ")

    if ans2 == "Б" or ans2 == "б":
        print("Это правильный ответ!")
        bank += 5000
        print("Твой банк: " + str(bank))
    else:
        print("К сожалению, ответ неправильный(((")
        print("Игра окончена!")
        print("Твой банк: " + str(bank))
        break

    # ---------- Третий вопрос ----------
    print()
    print()
    print()

    print("Следующий вопрос на 10 000 рублей!")
    print("Что является главным символом Нового года?")
    print("Варианты ответов:")
    print("А. Мандарины")
    print("Б. Снег")
    print("В. Подарки")
    print("Г. Ёлка")

    print()
    print()
    print()

    ans3 = input("Ответ - ")

    if ans3 == "Г" or ans3 == "г":
        print("Это правильный ответ!")
        bank += 10000
        print("Твой банк: " + str(bank))
    else:
        print("К сожалению, ответ неправильный(((")
        print("Игра окончена!")
        print("Твой банк: " + str(bank))
        break

Заключение

Сейчас вы познакомились с базовым, но вполне рабочим методом создания игры на Python для детей. Вы можете самостоятельно добавить столько вопросов, сколько захотите, и сыграть с друзьями. Это отличная практика, которая закрепляет навыки работы с переменными, условиями, циклами и вводом-выводом.

В процессе вы неизбежно столкнетесь с неудобствами копирования, код игры может разрастись до сотен или тысяч строк — это нормально. Обучение программированию на Python для детей всегда строится от простого к сложному. Сначала вы учитесь простым решениям, понимаете логику, а затем автоматизируете рутину с помощью списков и циклов. И постепенно вы перейдете от повторяющихся блоков к красивым и лаконичным решениям. Именно такой путь позволяет не просто зазубрить синтаксис, а действительно научиться думать как разработчик.

Понравилась статья?

Читайте также:

    Подборка курсов

    Заполните заявку
    на доступ
    кбесплатным
    курсам для детей
    После заполнения формы вы получите доступ в личный кабинет
    Понадобится помощь взрослого*