Python: Инструкции (Statements)
Команду print('Hexlet') мы можем назвать инструкцией, она говорит интерпретатору Python что нужно делать. Таких инструкций может быть сколько угодно. Каждая из них выполняется после того, как закончилась предыдущая и так мы из простых элементов получаем сколь угодно большую и сложную программу.
Инструкция 1: print('Hello') → выполнена
↓
Инструкция 2: print('World') → выполнена
↓
Инструкция 3: print('!') → выполненаВот пример кода с двумя инструкциями. Эти строки говорят компьютеру вывести фразы на экран.
print('Mother of Dragons.') # Первая инструкция
print('Dracarys!') # Вторая инструкцияРезультат выполнения:
Mother of Dragons.
Dracarys!Порядок имеет значение
Интерпретатор Python выполняет код строго в том порядке, в котором вы его написали. Если поменять строки местами:
print('Dracarys!')
print('Mother of Dragons.')на экране они тоже поменяются:
Dracarys!
Mother of Dragons.Альтернативная форма записи
Обычно инструкции пишут на отдельных строках, но Python позволяет объединить несколько инструкций в одну строку с помощью ;:
print('Mother of Dragons.'); print('Dracarys!');Обе версии работают одинаково, но второй вариант читать сложнее. Поэтому инструкции почти всегда пишут по одной на строку.
Зачем это нужно
Сейчас мы пишем очень простые программы, но со временем они начнут усложняться и один из самых важных навыков, который поможет их понимать, это способность разбивать (в голове) программу на независимые инструкции. Только так можно разобраться в том, что в коде происходит. Ниже пример для привлечения внимание, понимать его пока не надо:
def is_prime(number: int) -> bool:
if number < 2:
return False
divider = 2
while divider <= number / 2:
if number % divider == 0:
return False
divider += 1
return TrueЗадание
Выведите на экран статус доставки посылки — три строки, каждая отдельным вызовом print():
Заказ №1337
Статус: доставляется
Примерный срок: 2 дняПолезное
Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект
Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "ИИ-помощник":
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи. В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в обратной связи нашего сообщества
Ваше упражнение проверяется по этим тестам
import runpy
def test(capsys):
expected = "Заказ №1337\nСтатус: доставляется\nПримерный срок: 2 дня"
runpy.run_module('solution')
out, _ = capsys.readouterr()
assert out.strip() == expectedРешение учителя откроется через:
20:00
