Теория
Как Python выполняет команды
Представьте рецепт, в котором каждое действие записано на отдельной строке. Программа устроена похоже: это последовательность команд, которые компьютер выполняет по порядку. В Python выполнение начинается с первой строки, а затем переходит к следующей, поэтому от порядка зависит, что и когда произойдёт.
Начнём с команды print(...). Она выводит на экран то, что указано в скобках: текст записывают в кавычках, а выражение вроде 2 + 3 Python сначала вычисляет.
print("Старт")print(2 + 3)print("Готово")В результате мы увидим три строки в том же порядке: слово Старт, число 5 и слово Готово. Пока программа ничего не запоминает: она только выполняет три команды сверху вниз.
- Первая команда печатает
Старт. - Во второй строке сначала вычисляется
2 + 3, затем печатается5. - Последняя команда печатает
Готово.
Как работают переменные
Чтобы не писать одно и то же значение заново, программе нужно его запомнить. Для этого используют переменную — имя, под которым хранится значение. Запись с = называется присваиванием: 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() всегда возвращает текст. Без int выражение age_text + 1 пытается сложить текст и число, поэтому Python останавливает программу с ошибкой TypeError.Считаем и выводим результат
Теперь программа умеет получать числа и хранить их в переменных — осталось выполнить нужное вычисление. Значения, которые программа получает для работы, называют входными данными. Для первой программы достаточно четырёх арифметических операций:+, −,* и /. Как и в математике, умножение и деление выполняются раньше сложения и вычитания. Если нужен другой порядок, используйте скобки.
width = int(input())height = int(input())perimeter = 2 * (width + height)print(perimeter)- Определите входные данные. Решите, что пользователь должен ввести и в каком порядке.
- Получите числа. Преобразуйте каждый числовой input() через int(...).
- Посчитайте результат. Запишите выражение и сохраните результат в понятной переменной.
- Выведите ответ. Если задача ждёт число, не добавляйте к нему лишний текст.
Запускаем и проверяем программу
Код готов — теперь его нужно сохранить и запустить. Файл программы на 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.
Решение
Пройдём по программе сверху вниз.
- После x = 3 в переменной хранится 3.
- Строка x = x + 5 берёт это значение и сохраняет вместо него 8.
- Команда print(x) печатает 8.
Проследите, как меняется переменная
Подсказка
Когда программа снова присваивает значение переменной a, прежнее значение заменяется.
Решение
Посмотрим, что хранится в переменных после каждой строки.
- После первой строки в a хранится 4.
- Во второй строке b получает 4 + 3 = 7.
- В третьей строке новое значение a равно b + 4, то есть 11.
- Последняя строка печатает значение a — число 11.
Найдите результат после ввода
Подсказка
Сначала int превращает текст '8' в число 8.
Решение
input() получает текст '8'. Затем int(...) превращает его в число 8, поэтому выражение 8 + 9 даёт 17.
Если ввести 8, программа напечатает 17
n = int(input())print(n + 9)Посчитайте значение выражения
Подсказка
Начните с действия в скобках: сложите ширину и высоту.
Решение
Скобки показывают, что нужно посчитать в первую очередь.
- Сначала width + height = 7 + 5 = 12.
- Затем 2 * 12 = 24.
- В perimeter сохраняется 24, поэтому print(perimeter) печатает 24.
Запустите программу на своём компьютере
Подсказка
В одной минуте 60 секунд, поэтому можно записать seconds = minutes * 60.
Решение
Здесь нужны четыре уже знакомых шага.
- minutes = int(input()) получает введённое число 7.
- seconds = minutes * 60 вычисляет 7 * 60 = 420.
- print(seconds) выводит 420 без дополнительных слов.
Один из вариантов программы
minutes = int(input())seconds = minutes * 60print(seconds)Итог
Теперь вы можете прочитать небольшую программу сверху вниз, объяснить, что хранится в каждой переменной, и проверить результат на конкретных входных данных.
Следующий доступный шаг курса — урок про условия: с их помощью программа выбирает разные действия. До перехода попробуйте запустить свою программу с другими числами или вернитесь к заданиям ещё раз.
Из каких четырёх шагов состоит программа, которая получает два числа и печатает их сумму?
int, вычислить сумму и вывести её командой print.Что изменится, если строку print("Готово")поставить первой?
Готово появится первой строкой вывода. Остальные команды сохранят свой взаимный порядок.Какое значение хранит n после строки n = int(input()), если пользователь ввёл 8?
8: сначала input() возвращает текст '8', затем intпреобразует его.Что проверить первым, если терминал не находит команду запуска Python?
py --version, а в macOS или Linux — python3 --version. Если команда не найдена, установите Python с официального сайта и заново откройте терминал.