Блоки кода
Блок может состоять из любого числа строк. Все строки с отступом под if относятся к его блоку, и когда условие истинно, они все выполняются одна за другой:
temperature = 32
if temperature > 30:
print("Очень жарко")
print("Пейте больше воды")
print("Хорошего дня")Программа выведет:
Очень жарко
Пейте больше воды
Хорошего дняБлок заканчивается на первой строке без отступа. Эта строка, print("Хорошего дня"), находится вне блока, поэтому выполняется каждый раз, истинно условие или ложно.
Вот почему отступы в Python так важны. Типичная ошибка — забыть сделать отступ в строке, которая относится к блоку. Python не сообщает об ошибке, потому что программа всё равно корректна. Она просто делает не то, что вы задумали:
temperature = 20
if temperature > 30:
print("Очень жарко")
print("Пейте больше воды")Программа выведет:
Пейте больше водыНе жарко, поэтому Python пропускает блок. Но print("Пейте больше воды") в него не входит, поэтому выполняется даже при 20 градусах.
Обратная ошибка — сделать отступ в строке, которая не относится ни к какому блоку, — заканчивается ошибкой IndentationError: unexpected indent. А все строки одного блока должны иметь одинаковое число пробелов в отступе, так что придерживайтесь 4.
Задание
- 1
Программа говорит подключить зарядку, даже когда заряд батареи равен 80. Сделайте отступ в 4 пробела в строке
print("Подключите зарядку"), чтобы она входила в блок инструкцииif. Тогда программа выведет толькоЗаряд: 80. - 2
Измените
batteryна15и запустите программу. Теперь условие истинно, и программа выводит все три строки:Низкий заряд,Подключите зарядкуиЗаряд: 15.