Мини-игры: викторина и генератор историй

Собираем настоящие мини-игры на Python: викторину со счётом и генератор смешных историй.

Мини-игра — это маленькая программа, которая соединяет всё выученное: переменные, условия, циклы и списки.

Пора собрать всё вместе!

Ты прошёл огромный путь: знаешь команды, циклы, условия, переменные и списки. Это настоящие кирпичики, из которых строят любые программы. Давай соберём из них две весёлые игры. В нашей песочнице нельзя спросить ответ у игрока вживую, поэтому ответ мы будем «понарошку» класть в переменную — как будто игрок уже ответил.

Игра 1: Викторина со счётом

Зададим вопросы и проверим ответы. За каждый верный ответ — плюс одно очко (счётчик!). Используем переменные, условия и счёт очков — всё сразу:

score = 0

answer1 = "Москва"
if answer1 == "Москва":
    print("Верно! Столица России - Москва")
    score = score + 1
else:
    print("Неверно")

answer2 = "8"
if answer2 == "8":
    print("Верно! 5 + 3 = 8")
    score = score + 1
else:
    print("Неверно")

print("Твой счёт:", score, "из 2")

Вывод:

Верно! Столица России - Москва
Верно! 5 + 3 = 8
Твой счёт: 2 из 2

Смотри, как красиво всё соединилось! Коробочка score хранит счёт. Каждый вопрос — это условие if: верный ответ добавляет очко. В конце показываем итог. Попробуй поменять answer1 на «Париж» — увидишь «Неверно» и счёт станет меньше.

Игра 2: Генератор историй

Теперь повеселимся со списками и текстом. Сделаем машину, которая придумывает начало сказки из кусочков. Возьмём список героев и список мест, выберем по предмету и склеим фразу:

heroes = ["дракон", "рыцарь", "кот"]
places = ["в замке", "в лесу", "на горе"]
hero = heroes[0]
place = places[1]
print("Жил-был", hero, place + ".")
print("И однажды началось приключение!")

Вывод:

Жил-был дракон в лесу.
И однажды началось приключение!

Мы взяли героя номер 0 (дракон) и место номер 1 (в лесу) — получилась фраза «Жил-был дракон в лесу». Поменяй номера в heroes[...] и places[...] — и история станет другой! Можно получить «Жил-был кот на горе» или «Жил-был рыцарь в замке». Настоящий генератор сказок!

Хочешь случайность?

В настоящих играх герой и место выбираются случайно. В Python для этого есть помощник random. Вот как выбрать случайного героя (запусти несколько раз — герой будет меняться!):

import random
heroes = ["дракон", "рыцарь", "кот", "принцесса"]
hero = random.choice(heroes)
print("Сегодня герой истории:", hero)

Вывод:

Сегодня герой истории: рыцарь

Команда random.choice(heroes) выбирает случайный предмет из списка — как будто бросаешь кубик. Поэтому при каждом запуске герой может быть разным (у тебя может выпасть не рыцарь, а кот или дракон — это и есть случайность!). Так делают игры, где каждый раз всё по-новому.

Попробуй сам

Собери свою мини-викторину на один вопрос. Запусти, потом поменяй вопрос и правильный ответ на свои.

score = 0
answer = "кит"
if answer == "кит":
    print("Верно! Самое большое животное - синий кит")
    score = score + 1
else:
    print("Подумай ещё!")
print("Очки:", score)

Вывод:

Верно! Самое большое животное - синий кит
Очки: 1

Частые ошибки

  • Сравнивать число и текст. Если ответ хранится как текст "8", то и сравнивать надо с текстом "8" (в кавычках), а не с числом 8. Кавычки должны совпадать.
  • Забыть прибавить очко. В викторине легко забыть score = score + 1 внутри верной ветки. Тогда счёт не вырастет, хоть ответ и верный.

Что мы узнали

  • Из переменных, условий, циклов и списков собираются настоящие мини-игры.
  • Викторина = счётчик очков + условия для проверки ответов.
  • Генератор историй = списки + склейка текста; а random.choice добавляет случайность.
Проверьте себя
1. Что хранит переменная score в игре-викторине?
AТекст вопроса
BСчёт — сколько очков набрал игрок
CСписок ответов
DИмя игрока
2. Как из списка heroes выбрать случайного героя?
Aheroes[0]
Brandom.choice(heroes)
Clen(heroes)
Dheroes.append()
3. В викторине ответ хранится как текст "8". С чем его правильно сравнивать?
AС числом 8 без кавычек
BС текстом "8" в кавычках
CС числом 0
DСравнивать нельзя
Поддержать проект