Финальный проект

Поздравляю — ты прошёл весь фундамент Python! Теперь самое интересное: собрать СВОЙ проект. Здесь нет нового материала, только твоё творчество и всё, что ты уже умеешь. Выбери один из двух проектов (или сделай оба) и построй его сам.

Робот-программист гордо показывает свой готовый проект — игру и рисунок

Твой набор инструментов

За курс ты собрал целый ящик инструментов. Вот он — держи под рукой, когда строишь проект:

  ТВОЙ НАБОР ИНСТРУМЕНТОВ PYTHON:

  print / f-строка    — показать текст
  input + int         — спросить и посчитать
  if / elif / else    — выбор и решения
  while / for         — повторение
  списки (list)       — много данных сразу
  функции (def)       — свои команды
  random              — случайность и сюрприз
  turtle              — рисунок на экране

Проект А: текстовый квест

Игра-история, где игрок делает выборы, а программа ведёт по сюжету к разным концовкам. Выборы — это if/elif/else, повтор — while, случайные события — random, а комнаты и предметы удобно хранить в списках. Вот крошечный старт — развей его в целое приключение:

print("Ты у входа в пещеру.")
print("Налево (1) или направо (2)?")
vybor = input("Твой выбор: ")

if vybor == "1":
    print("Ты нашёл сундук с золотом! Победа!")
elif vybor == "2":
    print("Тебя поймал дракон. Игра окончена.")
else:
    print("Ты застыл в нерешительности и упустил момент...")
Ты у входа в пещеру.
Налево (1) или направо (2)?
Твой выбор: 1
Ты нашёл сундук с золотом! Победа!
  • Добавь ещё комнаты и выборы (вложенные if внутри веток).
  • Заведи здоровье героя (переменная) и меняй его по ходу.
  • Оберни игру в while, чтобы можно было играть снова.
  • Добавь случайное событие через random (повезёт/не повезёт).

Проект Б: рисунок-открытка на turtle

Нарисуй целую сцену черепашкой: дом, солнце, звёзды, узор-спирограф — что захочешь. Используй фигуры из циклов, цвета и случайные звёзды. Вот старт с узором — собери вокруг него свою открытку:

import turtle, random
t = turtle.Turtle()
t.speed(0)
turtle.bgcolor("midnightblue")

# узор в центре
t.color("gold")
for i in range(36):
    for j in range(4):
        t.forward(80)
        t.right(90)
    t.right(10)

turtle.done()
(на экране: золотой узор-цветок на тёмно-синем фоне)
  • Добавь звёзды: случайные точки (penup + goto + dot) по всему экрану.
  • Нарисуй дом или ёлку из фигур рядом с узором.
  • Вынеси рисование фигуры в функцию и вызови её несколько раз в разных местах.
Готов проект — проверь себя по чеклисту: (1) программа запускается без ошибок; (2) есть ввод или взаимодействие; (3) использованы хотя бы условие ИЛИ цикл; (4) есть что показать на экране; (5) ты можешь объяснить каждую строчку. Всё есть — ты справился!

Контрольный вопрос. В квесте игрок вводит номер выбора, и программа должна повести по-разному. Какой инструмент для этого?

Аif / elif / else — разные ветки под разные выборы
Бprint — просто вывести текст
Вimport random

Подсказка: Нужно принять решение в зависимости от выбора игрока.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Чтобы в квест можно было играть снова и снова, пока игрок не решит выйти, что использовать?

АЦикл while
БСписок
Вf-строку

Подсказка: Нужно повторять игру неизвестное заранее число раз — пока не выйдут.

Онлайн-проверка ответа появится позже

Контрольный вопрос. В квесте много комнат с описаниями. Где удобнее всего хранить их вместе?

АВ списке
БВ отдельной переменной на каждую комнату
ВВ команде print

Подсказка: Много однотипных данных в одном месте — это про списки.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Один и тот же кусок кода (например, бой с монстром) повторяется в разных местах проекта. Как убрать повтор?

АВынести его в функцию (def) и вызывать
БСкопировать его несколько раз
ВУдалить его совсем

Подсказка: Повторяющийся код заворачивают, чтобы вызывать одной строкой.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Хочешь, чтобы в квесте иногда «везло», а иногда нет — случайно. Что подключить?

АМодуль random
БМодуль turtle
ВКоманду len

Подсказка: Случайность в Python — это модуль random (randint, choice).

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что выведет фрагмент квеста из этого задания? Впиши то, что появится (без кавычек).

Исходный код для этого задания:

vybor = "2"
if vybor == "1":
    print("Ты пошёл налево")
elif vybor == "2":
    print("Ты пошёл направо")
else:
    print("Ты остался на месте")

Подсказка: vybor равен «2» — найди ветку, где условие станет верным.

Онлайн-проверка ответа появится позже

Задание. Напиши код сам. Напиши команду, которая выведет игроку ровно: Ты нашёл сокровище!

Исходный код для этого задания:

# напиши ниже команду print с текстом: Ты нашёл сокровище!

Подсказка: Шаблон: print(«…текст…»). Текст в кавычках должен быть точным.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Напиши код сам. Напиши заголовок «вечного» цикла, который будет повторяться, пока внутри не сработает break. (Только строку с while и двоеточием.)

Исходный код для этого задания:

# напиши ниже заголовок вечного цикла
    print("Игра идёт...")

Подсказка: Вечный цикл — это while с условием, которое всегда истинно. Шаблон: while True:.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Что дальше

Ты построил свой проект — это по-настоящему круто. Теперь ты умеешь программировать на Python. В последнем разделе покажу, куда двигаться дальше: игры на pygame, чат-боты, подготовка к экзаменам — целая карта твоего пути в программировании.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева