Нажми — и увидишь, что делает команда
- ⏱ Сколько займёт
- 40–60 минут, 6 шагов. Каждый шаг заканчивается результатом на экране.
- 💻 Что нужно
- Телефон или компьютер. Редактор открывается прямо в браузере, ставить ничего не надо.
- ⏸ Если прервёшься
- Ничего не потеряется: прогресс сохраняется на этом устройстве. Вернёшься — продолжишь с того же шага.
- 🎓 Чему научишься
- ввод input() · типы данных · условия if/else
Программа задаёт вопрос
Сова наводит трубу и уступает место: «Спроси у неё что-нибудь».
Ты молчишь. Он вздыхает: «Программа тоже молчит, пока её не спросят. Она умеет слушать — этому мы и научим».
Спросил имя — ответила по имени. Ответил неправильно — сказала, что неправильно. Так рождается диалог.
Это анимация исполнения кода: программа шла строка за строкой, и вопросы с ответами появлялись в окне вывода в реальном времени. Черепашки на этом острове нет — только текст. Тот же код ты напишешь сам. В ролике Капитан по старой памяти отвечает «Верно, штурман!» — в Обсерватории это звание звучит как «звездочёт».
Читать текстом
Из этих двух команд когда-то выросли все компьютерные приключения.
1 name = input("Как тебя зовут? ")
2 print("Привет, " + name + "!")
3
4 # input ЖДЁТ, пока человек напечатает и нажмёт Enter
5 # то, что он ввёл, попадает в переменную
6
7 # ВАЖНО: input всегда даёт ТЕКСТ, даже если ввели число
8 age = int(input("Сколько тебе лет? ")) ← int() превращает в число
Строка 1 останавливает программу и ждёт человека. Что напечатали — попало в переменную. И сразу важная ловушка из строки 8: input всегда даёт текст. Если нужно число, оберни в int(), иначе арифметика не сработает.
1 answer = input("Пойдёшь налево или направо? ")
2
3 if answer == "налево":
4 print("Ты нашёл пещеру.")
5 elif answer == "направо": # «иначе если»
6 print("Ты вышел к морю.")
7 else: # на все остальные случаи
8 print("Я тебя не понял.")
Читается почти по-русски: если ответ равен «налево» — одно, иначе если «направо» — другое, иначе — на все прочие случаи. Обрати внимание на двойное равно: одно = кладёт значение, двойное == сравнивает.
Приключение в три вопроса
Отвечай в поле и жми Enter. Справа видно код, который сейчас работает. Попробуй пройти дважды: сначала «налево» и «возьму», потом «направо» и «мимо» — история пойдёт по-разному.
Про else забывают, а он важнее всего. Игрок обязательно напишет «влево», «Налево» с большой буквы или вообще «привет». Без else программа просто промолчит, и человек решит, что она сломалась.

- 1Кнопка «Стереть» — начни с чистого листаУбирает весь код разом, но сначала переспросит — точно ли. В этом квесте она нужна первой: рисование тут ни к чему, у тебя будет разговор, а не картинка.
- 2Поле кода — сюда твой разговорЧерепашка не нужна. Первой строкой пиши name = input("Как тебя зовут? ") — готовая кнопка input("") лежит в палитре «Ещё». Ловушка на весь квест: input всегда отдаёт ТЕКСТ, поэтому число оборачивают в int() — эта кнопка там же, рядом.
- 3Палитра «Циклы и если»Тут кнопки if :, elif :, else: и знак ==. Из них и собирается развилка. Помни про двойное равно: одно = кладёт значение в коробку, а сравнивает именно ==. И строки внутри if сдвигают отступом, как в цикле.
- 4Жёлтая кнопка ▶ ЗапуститьПройди свою историю дважды: сначала отвечай «налево», потом «направо». Если оба ответа ведут в одно и то же место — развилки не получилось. И обязательно попробуй ответить ерундой: сработает ли else.
- 5Блок «ЧТО НАПЕЧАТАЛА ПРОГРАММА»Вот здесь пойдёт весь разговор. Сейчас тут написано «программа ничего не напечатала» — потому что на кадре программа молча рисует. У тебя тут появится твой вопрос, а под ним поле и кнопка «Ответить»: печатаешь ответ, жмёшь — и программа идёт дальше. Белый холст сверху останется пустым, и это правильно.
Это наш редактор «Python в кармане» со страницы /kod/ — открой её в соседней вкладке. На кадре он показан дважды: слева вкладка «Код», где ты пишешь, справа вкладка «Результат», куда программа переключится сама после запуска. Нажимай на кружки по порядку: метка покажет место, строка ниже объяснит, зачем оно.
Понимать игрока по-человечески
1 # ПРИНИМАЕМ ЛЮБОЕ НАПИСАНИЕ
2 answer = input("Куда пойдёшь? ").lower().strip()
3
4 .lower() — все буквы маленькие: «НАЛЕВО» → «налево»
5 .strip() — убирает лишние пробелы по краям
6
7 if "лев" in answer: # достаточно куска слова!
8 print("Ты нашёл пещеру.")
9
10 # сработает и на «налево», и на «влево», и на «лево»
Три приёма разом. .lower() делает буквы маленькими, .strip() убирает лишние пробелы, а «лев» in ответ проверяет кусок слова — сработает и на «налево», и на «влево», и просто на «лево».
1 hp = 3
2 coins = 0
3
4 while hp > 0: # играем, пока живы
5 move = input("Что делаешь? ").lower()
6
7 if "иду" in move:
8 coins += 5 # += значит «прибавить к тому, что было»
9 print("Нашёл 5 монет. Всего: ", coins)
10 elif "дерусь" in move:
11 hp -= 1
12 print("Ой! Здоровья осталось: ", hp)
13 elif "выход" in move:
14 break # выйти из цикла и закончить игру
15 else:
16 print("Не понял. Попробуй: иду / дерусь / выход")
17
18 print("Игра окончена. Монет собрано:", coins)
Теперь всё вместе: while крутит игру, пока есть здоровье, input спрашивает ход, if/elif/else решает, что случилось. Восемнадцать строк — и получается настоящая текстовая игра, в которую играют часами. Ветка «выход» со словом break нужна обязательно: без неё игрок, который всё время идёт, никогда не выйдет из цикла.
Проверка · Игрок ввёл «НАЛЕВО». Сработает ли if answer == "налево"?
Что делает int() вокруг input()?
Оба верных ответа — +10 дублонов.

Ввод, которому нельзя доверять
Как только программа начинает спрашивать человека, появляется вечная проблема: человек напишет что угодно. Букву вместо числа, пустую строку, смайлик.
Поэтому профессионалы всегда проверяют ввод. Это правило родилось не в играх, а в безопасности: половина взломов сайтов — это ввод, который никто не проверил.
Хорошая программа не падает от странного ответа. Она вежливо просит повторить.
Программа считает неправильно
Строка 4 — «текст можно склеивать только с текстом»
Обрати внимание: Python ругается на строку 4, а виновата другая. Так бывает часто — место ошибки и место причины не совпадают. Найди, где переменная получает неправильное значение.
Запомни картинку. «5» — это символ, 5 — это количество. Компьютер не догадывается, что ты имел в виду, и складывает текст как слова. Отсюда и знаменитое «55» вместо десяти.
Комнаты, которые зовут друг друга
1 # КАЖДАЯ КОМНАТА — СВОЯ ФУНКЦИЯ (помнишь остров 6?)
2 def cave():
3 print("Темно. Пахнет сыростью.")
4 move = input("Зажечь факел или уйти? ").lower()
5 if "факел" in move:
6 print("Ты видишь сундук!")
7 chest() # одна комната зовёт другую
8 else:
9 shore()
10
11 # игра = набор комнат, которые вызывают друг друга
Вот и пригодились функции с прошлого острова. Каждая комната — своя функция, и они вызывают друг друга в зависимости от ответа. Так строят большие приключения: добавить новую комнату — значит просто написать ещё одну функцию.
Сначала рисуй карту на бумаге, потом пиши код. Пять-шесть кружочков со стрелками — и сразу видно, где история обрывается, а где не хватает развилки. Так делают все, кто пишет квесты.
Последняя галочка обязательна. Пройди свою игру двумя путями — почти всегда во второй ветке обнаруживается забытый вызов или опечатка, которую в первой не видно.
Своё приключение
Про секрет: спрячь ветку на неочевидное слово вроде «танцевать» или «спеть». Тот, кто найдёт, будет в восторге — пасхалки в играх делают ровно так, одной лишней веткой if.
Как сдать работу: в «Python в кармане» код сохраняется сам — закрыл страницу, вернулся, и он на месте. Кнопки «поделиться» там нет и ссылки на твою работу тоже: покажи экран взрослому или пришли скриншот — этого достаточно. Поле выше нужно, только если ты писал в другом редакторе, который выдаёт ссылку. Дай пройти взрослому и молчи. Записывай, где он вводит не то, что ты ожидал: «идти вперёд» вместо «вперёд», «да» вместо «возьму». Каждый такой случай — повод добавить ещё одну проверку.
Читать текстом
Жми — Гильдия отметит седьмой остров Обсерватории.