Пишем код с нуля: print, input, переменная и мини-диалог по шагам

С чего начатьобновлено 07.10.20269 мин чтенияесть тренажёр

Первая программа на Python может состоять из одной строки — print("Привет!"), и за 15 минут ребёнок успевает пройти путь до настоящего мини-диалога: компьютер спрашивает имя и возраст, запоминает ответы в переменных и отвечает. Всё делается в редакторе прямо на этой странице, без установки.

Загружаем…

Что нужно для первого урока

Для урока нужно 3 вещи: компьютер с браузером и клавиатурой, 15 минут без спешки и эта страница. Устанавливать ничего не надо — редактор над текстом сразу запускает код.

Посмотрите на редактор вверху страницы. Слева — вкладка с именем файла и поле для кода, справа — окно «Вывод», где появляется результат. Кнопка «▶ Запустить» выполняет программу; то же делает сочетание Ctrl+Enter. Кнопка «Сбросить» возвращает исходный код, если что-то пошло не так. Если программа просит что-то ввести, под выводом откроется поле ввода. Черновик сохраняется в браузере, так что закрыть вкладку не страшно.

Удобнее всего, если ребёнок печатает сам, а взрослый сидит рядом и задаёт вопросы. Почему именно Python? Его создал Гвидо ван Россум, первая публичная версия вышла в 1991 году, а сейчас развитием языка занимается Python Software Foundation. Запись в нём короткая, а по федеральной образовательной программе Python входит в список языков, на которых изучают программирование с 8 класса. Учить стоит именно Python 3: вторая версия не поддерживается с 2020 года. Копировать примеры не стоит: набирая код руками, ребёнок замечает кавычки, скобки и запятые, а именно они чаще всего ломают программу.

МинутыШагЧто нового узнаёт ребёнок
0–3Приветствие одной строкойКоманда print, кавычки, запуск
3–6Несколько строк и арифметикаПрограмма выполняется сверху вниз, числа без кавычек
6–9ПеременнаяИмя, знак =, хранение значения
9–12Ввод с клавиатурыКоманда input, ответ пользователя
12–15Мини-диалогВвод числа через int, сборка всего вместе

Шаг 1. Первая программа: одна строка print

Команда print — это способ попросить компьютер показать текст или число. Текст пишут в кавычках внутри круглых скобок, и это уже готовая первая программа.

Сотрите всё в редакторе и наберите одну строку. Нажмите «▶ Запустить».

print("Привет, мир!")
Привет, мир!

Поздравляем: компьютер выполнил вашу команду. Каждую новую строку стоит запускать сразу, не дожидаясь, пока программа станет длинной: так ошибку легче найти. Теперь поменяйте текст в кавычках на своё имя или любимую фразу и запустите снова. Обратите внимание: сами кавычки на экран не выводятся, они лишь показывают компьютеру, где начинается и заканчивается текст. Если забыть одну кавычку или скобку, появится сообщение об ошибке — об этом ниже.

Шаг 2. Несколько строк и арифметика

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

print("Сейчас я посчитаю")
print(2 + 3)
print(7 * 8)
print("2 + 3")
Сейчас я посчитаю
5
56
2 + 3

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

Шаг 3. Переменная — коробка с именем

Переменная — это имя, под которым программа запоминает значение: текст или число. Значение кладут в переменную знаком «равно», а потом используют по имени.

imya = "Маша"
print("Привет,", imya)
print("Как дела,", imya + "?")
Привет, Маша
Как дела, Маша?

Знак = в Python означает не «равно» из математики, а «положи в коробку». Справа — что положить, слева — подпись на коробке. Если написать имя переменной без кавычек, Python подставит её содержимое. Если в кавычках — напечатает само слово.

Запятая внутри print выводит значения через пробел, а знак + склеивает строки вплотную. Поменяйте «Маша» на своё имя — программа поздоровается уже с вами, хотя остальные строки не изменились. В этом и сила переменных. Больше примеров — в статье о переменных в Python.

Шаг 4. Ввод с клавиатуры

Команда input — это способ спросить пользователя и получить его ответ. Текст в скобках станет вопросом, а то, что человек напечатает, программа положит в переменную.

imya = input("Как тебя зовут? ")
print("Приятно познакомиться,", imya)

Запустите программу. Под выводом появится поле ввода: напечатайте имя и нажмите Enter. Программа ответит, подставив именно то, что вы ввели. Это и есть первый настоящий диалог человека и компьютера: программа больше не говорит одно и то же, она реагирует на ответ.

Обратите внимание на пробел перед закрывающей кавычкой в вопросе: без него ответ прилипнет к знаку вопроса. Мелочь, но из таких мелочей складывается аккуратный код; руководство PEP 8 как раз описывает подобные правила оформления. Как ещё можно использовать ввод, разобрано в материале о функции input.

Шаг 5. Мини-диалог из 6 строк

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

imya = input("Как тебя зовут? ")
print("Привет,", imya + "!")
let = int(input("Сколько тебе лет? "))
print("Через 10 лет тебе будет", let + 10)
eda = input("Какая твоя любимая еда? ")
print("Я тоже люблю", eda + ".")
Как тебя зовут? Петя
Привет, Петя!
Сколько тебе лет? 11
Через 10 лет тебе будет 21
Какая твоя любимая еда? пицца
Я тоже люблю пицца.

Всё, что вводит пользователь, Python получает как текст — даже если человек набрал цифры. Без int сложить возраст с числом не получится: Python не складывает строку с числом. Чтобы прибавить к возрасту 10, текст «11» нужно превратить в число 11 — это делает int. Такая же программа уже стоит в редакторе вверху страницы, запустите её и ответьте на вопросы. А потом добавьте свой вопрос: про любимый цвет, питомца или игру.

Если появилась ошибка

Ошибка в первой программе — это нормально: почти каждый новичок забывает кавычку или скобку. Редактор показывает сообщение и подсказку на русском со ссылкой на разбор, а номер строки помогает найти место.

Что написаноОшибкаКак исправить
print("Привет)SyntaxErrorЗакрыть кавычку перед скобкой
Print("Привет")NameErrorПисать print с маленькой буквы
print(Привет)NameErrorВзять текст в кавычки
"Мне " + 11TypeErrorСклеивать только строки или выводить через запятую
Ввод «десять» в int(input())ValueErrorВводить число цифрами

Читать сообщение стоит снизу вверх: в последней строке — название ошибки, выше — номер строки. Официальная документация Python описывает каждое из этих исключений, но для начала хватит подсказок редактора[1]. Самая частая ошибка — SyntaxError, ей посвящена отдельная страница про SyntaxError в Python.

Мифы о первой программе

Миф — это убеждение, которое мешает начать. О старте в программировании их два главных, и оба не подтверждаются опытом.

«Чтобы написать программу, нужно сначала выучить много теории». Это не так: работающий код получается в первую же минуту, а теория лучше ложится на уже знакомые примеры.

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

Когда этот урок не подходит

Урок с текстовым кодом не подходит, если ребёнку пока трудно читать и печатать или если он хочет сразу анимацию. Вот 4 ситуации, когда лучше начать иначе.

  • Ребёнку 6–8 лет. Начните с блоков в Scratch или с игр без компьютера — набирать код пока тяжело.
  • Ребёнок ищет на клавиатуре каждую букву дольше 5 секунд. Сначала немного потренируйте печать.
  • Нет 15 спокойных минут. В спешке урок превратится в копирование без понимания.
  • Есть только смартфон. На экране 5–6 дюймов набирать скобки и кавычки неудобно.

Чего делать нельзя

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

  • Нельзя набирать код за ребёнка — даже если он печатает медленно.
  • Не следует сразу объяснять типы данных и функции: хватит print, input и переменной.
  • Не стоит исправлять ошибку молча — попросите прочитать сообщение вслух.
  • Нельзя ругать за опечатки: опечатки — обычная часть программирования.
  • Не следует растягивать урок, если ребёнок устал: закончите на работающей программе.

Что делать дальше

После первого урока стоит закрепить материал короткими занятиями 2–3 раза в неделю и перейти к условиям и циклам. Новые темы лучше давать по одной.

  1. Свой диалог. Придумать программу-анкету из 5 вопросов о друге.
  2. Условие. Научить программу отвечать по-разному: «если возраст больше 12 — …».
  3. Цикл. Повторить приветствие 3 раза без копирования строк.
  4. Игра. Собрать «угадай число» — первую игру на Python.

Короткие частые повторения закрепляют материал лучше одного длинного занятия: так работает распределённая практика[2]. А руководство PEP 8 пригодится чуть позже, когда программы станут длиннее[3].

Источники

[1] The Python Tutorial (официальная документация Python 3). Python Software Foundation.

[2] Cepeda N. J., Pashler H., Vul E., Wixted J. T., Rohrer D. Distributed practice in verbal recall tasks: A review and quantitative synthesis // Psychological Bulletin. 2006. Vol. 132, № 3. P. 354–380.

[3] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.

Вопросы и ответы

Можно ли писать первую программу на русском?

Текст в кавычках — да, на любом языке. Команды вроде print и input пишутся по-английски, а имена переменных принято писать латиницей.

Почему print, а не «печать»?

Ключевые слова Python английские, их список приводит официальная документация Python. Их немного, и ребёнок запоминает их как термины, примерно как ноты в музыке.

Сохранится ли код, если закрыть страницу?

Черновик хранится в браузере, поэтому при следующем открытии он вернётся. Но в другом браузере или после очистки истории его не будет.

Нужно ли устанавливать Python?

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

Сколько лет должно быть ребёнку?

Обычно с 10–11 лет, если ребёнок уверенно читает и находит буквы на клавиатуре. Младшим лучше начать с блоков Scratch, которые разрабатывает MIT Media Lab.

Что делать, если ребёнку стало скучно?

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