1. Неправильное использование оператора сравнения.
Неправильно:
if age >= 7 and <= 9:
...
Запуск такого кода приведет к появлению ошибки во время выполнения программы. Необходимо явно записывать условия.
Правильно:
if age >= 7 and age <= 9:
...
2. Неправильное использование логического оператора or
.
Неправильно:
if my_city == 'Сидней' or 'Аделаида' or 'Перт':
print('Я живу в Австралии')
Когда вы таким образом "проверяете" значение переменной на равенство строкам 'Сидней'
, 'Аделаида'
, 'Перт'
, вы на самом деле делаете такую проверку (python внутри себя проверяет на истинность строки 'Аделаида'
, 'Перт'
):
if my_city == 'Сидней' or True or True:
print('Я живу в Австралии')
Как вы понимаете, такой код всегда будет приводить к истинному выражению (True
). Дело в том, что Python воспринимает строки 'Аделаида'
, 'Перт'
как нечто непустое и считает их за True
(подробнее про строки и их проверку на истинность мы поговорим позже ??). Поэтому проверку на несколько строк надо осуществлять только в явном виде.
Правильно:
if my_city == 'Сидней' or my_city == 'Аделаида' or my_city == 'Перт':
print('Я живу в Австралии')