Операторы сравнения
Символы < и >, которые вы использовали в условиях, — это операторы сравнения: они сравнивают два значения, и результат — истина или ложь. В Python их шесть:
==равно:5 == 5!=не равно:5 != 3>больше:5 > 3<меньше:3 < 5>=больше или равно:5 >= 5<=меньше или равно:3 <= 5
Все примеры в списке истинны. В !=, >= и <= знак равенства всегда стоит вторым, без пробела между символами. Обратите внимание на разницу между > и >= на границе: 18 > 18 — ложь, а 18 >= 18 — истина. Поэтому «18 лет или старше» записывается как age >= 18.
«Равно» записывают двумя знаками равенства, ==, потому что у одного уже есть своя задача. price = 100 присваивает: сохраняет 100 в переменной price. price == 100 сравнивает: спрашивает, равно ли price 100, и ничего не меняет. Написать = вместо == в условии — одна из самых частых ошибок, и Python сообщает о ней сразу:
price = 100
if price = 100:
print("Стоит ровно 100")Traceback (most recent call last):
File "<exec>", line 2
if price = 100:
^^^^^^^^^^^
SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?Последняя строка даже подсказывает исправление: ==. (:= — это другое, оно вам в этом курсе не понадобится.)
Сравнивать можно не только числа, но и текст:
password = "kitten42"
if password == "kitten42":
print("С возвращением")
else:
print("Неверный пароль")Программа выведет:
С возвращениемДва текста равны, только если совпадают точно, символ в символ. Заглавные и строчные буквы — разные символы, поэтому "Анна" == "анна" — ложь. "kitten42 " с пробелом в конце — тоже другой текст. И текст никогда не равен числу: "5" == 5 — ложь. Не забывайте про кавычки вокруг текста, с которым сравниваете. Без них password == kitten42 заставит Python искать переменную kitten42, и программа закончится ошибкой NameError: name 'kitten42' is not defined.
Задание
- 1
Запустите программу: она заканчивается ошибкой
SyntaxError. Исправьте условие так, чтобы оно сравнивалоcountryсо значением"Россия". Тогда программа выведетДоставка через 3 дня. - 2
Интернет-магазин предлагает бесплатную доставку при заказе от 1500. В конце программы напишите ещё одну инструкцию
if, которая выводитБесплатная доставка, еслиorder_totalбольше или равно1500.