Первая программа: ввод, вычисление и вывод

Разберём, как Python выполняет команды, где хранит значения, как получает ввод и выводит результат.

Урок курса · 5 задач

Теория

Как Python выполняет команды

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

Начнём с команды print(...). Она выводит на экран то, что указано в скобках: текст записывают в кавычках, а выражение вроде 2 + 3 Python сначала вычисляет.

print("Старт")print(2 + 3)print("Готово")

В результате мы увидим три строки в том же порядке: слово Старт, число 5 и слово Готово. Пока программа ничего не запоминает: она только выполняет три команды сверху вниз.

Разберём на примере
Разберём программу по строкам
Идём сверху вниз и после каждой команды отмечаем, что появилось на экране.
  1. Первая команда печатает Старт.
  2. Во второй строке сначала вычисляется 2 + 3, затем печатается 5.
  3. Последняя команда печатает Готово.

Как работают переменные

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

price = 120count = 3total = price * countprint(total)

Сначала в price сохраняется 120, затем в count — 3. В третьей строке Python умножает эти значения и сохраняет 360 в total.

Неверно
Знак = работает как обычное равенство, поэтому части можно поменять местами.
Как правильно
В программе слева от = должно стоять имя переменной, в которую сохраняется результат. Поэтому запись total = price * count работает, а price * count = total приводит к синтаксической ошибке.

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

До сих пор все значения были заранее записаны в программе. Чтобы получить значение от пользователя, нужна команда input(): она ждёт, пока человек что-то напечатает и нажмёт Enter. Результат input()всегда является текстом, даже если введены одни цифры. Для вычислений этот текст превращают в целое число с помощью int(...).

age_text = input("Сколько вам лет? ")age = int(age_text)next_age = age + 1print(next_age)

Если ввести 15, переменная age_text сначала сохранит текст '15'. Следующая строка превращает его в число 15, и теперь к нему можно прибавить единицу.

Неверно
Если через input() ввели цифры, значит программа уже получила число.
Как правильно
input() всегда возвращает текст. Без int выражение age_text + 1 пытается сложить текст и число, поэтому Python останавливает программу с ошибкой TypeError.

Считаем и выводим результат

Теперь программа умеет получать числа и хранить их в переменных — осталось выполнить нужное вычисление. Значения, которые программа получает для работы, называют входными данными. Для первой программы достаточно четырёх арифметических операций:+, −,* и /. Как и в математике, умножение и деление выполняются раньше сложения и вычитания. Если нужен другой порядок, используйте скобки.

width = int(input())height = int(input())perimeter = 2 * (width + height)print(perimeter)
Собираем программу из четырёх шагов
  1. Определите входные данные. Решите, что пользователь должен ввести и в каком порядке.
  2. Получите числа. Преобразуйте каждый числовой input() через int(...).
  3. Посчитайте результат. Запишите выражение и сохраните результат в понятной переменной.
  4. Выведите ответ. Если задача ждёт число, не добавляйте к нему лишний текст.

Запускаем и проверяем программу

Код готов — теперь его нужно сохранить и запустить. Файл программы на Python имеет расширение .py, например first_program.py. Терминал — это окно, в котором можно вводить команды запуска. В Windows сначала проверьте установленную версию командой py --version, а в macOS или Linux — командой python3 --version. Для заданий курса подойдёт Python 3.12 или любая более новая версия.

Windows:py first_program.py macOS или Linux:python3 first_program.py

Если программа завершилась с ошибкой, начните с последней строки сообщения. SyntaxError обычно означает, что команда записана неправильно, NameError — что Python не знает указанное имя, а TypeError — что операция не подходит для этих видов значений.

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

Проследите порядок команд

В программе три строки: x = 3, затем x = x + 5 и затем print(x). Какое число появится на экране?

Подсказка

Идите по строкам сверху вниз и после каждой записывайте значение x.

Решение

Пройдём по программе сверху вниз.

  1. После x = 3 в переменной хранится 3.
  2. Строка x = x + 5 берёт это значение и сохраняет вместо него 8.
  3. Команда print(x) печатает 8.

Проследите, как меняется переменная

Программа выполняет четыре строки: a = 4, b = a + 3, a = b + 4 и print(a). Какое число она напечатает?

Подсказка

Когда программа снова присваивает значение переменной a, прежнее значение заменяется.

Решение

Посмотрим, что хранится в переменных после каждой строки.

  1. После первой строки в a хранится 4.
  2. Во второй строке b получает 4 + 3 = 7.
  3. В третьей строке новое значение a равно b + 4, то есть 11.
  4. Последняя строка печатает значение a — число 11.

Найдите результат после ввода

Сначала программа выполняет n = int(input()), а затем print(n + 9). Пользователь вводит 8. Какое число появится на экране?

Подсказка

Сначала int превращает текст '8' в число 8.

Решение

input() получает текст '8'. Затем int(...) превращает его в число 8, поэтому выражение 8 + 9 даёт 17.

Если ввести 8, программа напечатает 17

n = int(input())print(n + 9)

Посчитайте значение выражения

Ширина прямоугольника равна 7, а высота — 5. В программе записано perimeter = 2 * (width + height). Какое число напечатает print(perimeter)?

Подсказка

Начните с действия в скобках: сложите ширину и высоту.

Решение

Скобки показывают, что нужно посчитать в первую очередь.

  1. Сначала width + height = 7 + 5 = 12.
  2. Затем 2 * 12 = 24.
  3. В perimeter сохраняется 24, поэтому print(perimeter) печатает 24.

Запустите программу на своём компьютере

Создайте файл first_program.py. Пусть программа получит количество минут, переведёт их в секунды и напечатает только число. Запустите файл, введите 7 и перенесите сюда результат с экрана.

Подсказка

В одной минуте 60 секунд, поэтому можно записать seconds = minutes * 60.

Решение

Здесь нужны четыре уже знакомых шага.

  1. minutes = int(input()) получает введённое число 7.
  2. seconds = minutes * 60 вычисляет 7 * 60 = 420.
  3. print(seconds) выводит 420 без дополнительных слов.

Один из вариантов программы

minutes = int(input())seconds = minutes * 60print(seconds)

Итог

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

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

Проверьте себя
Из каких четырёх шагов состоит программа, которая получает два числа и печатает их сумму?
Получить два значения, преобразовать их в числа через int, вычислить сумму и вывести её командой print.
Что изменится, если строку print("Готово")поставить первой?
Слово Готово появится первой строкой вывода. Остальные команды сохранят свой взаимный порядок.
Какое значение хранит n после строки n = int(input()), если пользователь ввёл 8?
Целое число 8: сначала input() возвращает текст '8', затем intпреобразует его.
Что проверить первым, если терминал не находит команду запуска Python?
В Windows попробуйте py --version, а в macOS или Linux — python3 --version. Если команда не найдена, установите Python с официального сайта и заново откройте терминал.