Я не пришел в школу
Создадим переменную я_был_в_школе и присвоим ей ложь
python
я_был_в_школе = False
print(я_был_в_школе)
# выведет FalseЗначения True и False - это логические значения правды и лжи в пайтоне.
Операторы сравнения
Чтобы сравнивать числа, строки и другие типы данных, нужно знать основные операторы сравнения. Например на вопрос "10 больше 3?" мы ответим ДА. Также и в пайтоне:
python
print(10 > 3)
# выведет TrueДавайте соберем все операторы в одну таблицу:
| Оператор | Что значит | Пример | Вывод |
|---|---|---|---|
| > | A больше B | 10 > 3 | True |
| < | A меньше B | 10 < 3 | False |
| == | A равно B | 10 == 3 | False |
| >= | A больше или равно B | 10 >= 3 | True |
| <= | A меньше или равно B | 10 <= 3 | False |
Эльз, иф, эльф
В пайтоне, как и в жизни, есть сравнение через логические "если ..., то ..." и другие.
Ключевые слова: if (если...), else (иначе...), elif (еще одно условие...)
Давайте проще:
python
if булат == мальчик:
print("Булат мальчик")
elif булат == девочка:
print("Булат девочка")
else:
print("Булат ни мальчик, ни девочка")Грубо говоря: if это одно условие. else срабатывает, когда if не выполнилось: то есть, булат == мальчик - это Fasle. elif это еще одно условие, которое выполнится, если первое if - это Fasle. Если elif - это тоже ложь, то сработает else.
if - самое первое сравнение
elif - дополнительные сравнения
else - работает, если всё остальное не сработало
elif - дополнительные сравнения
else - работает, если всё остальное не сработало
Пазлы любишь? Люби и саночки носить
Давайте теперь собёрем программу, которая что нибудь делает:
python
я_пошел_в_школу = False
возраст_булата = 16
сообщение_классной_руководительнице = "Булат заболел, не придёт"
if возраст_булата >= 18:
print("Булат совершеннолетний")
else:
print("Булат еще малыш")
# выведет "Булат еще малыш"
if я_пошел_в_школу == True:
print("Булат пошел в школу, это правда")
elif я_пошел_в_школу == False:
print(сообщение_классной_руководительнице)
else:
print("Булат проспал первые 6-7 уроков")
# выведет "Булат заболел, не придёт"Объяснение:
Сравнение первое: возраст булата НЕ равен 18 И НЕ больше 18, поэтому утверждение возраст_булата >= 18 - это ложь, значит False. Не верно. Тогда срабатывает следующее ключевое слово: elif/else, но elif нету, поэтому сразу else. В else мы выводим, что булат малыш.
Сравнение второе: переменная я_пошел_в_школу это ложь. Ложь равна Правде? Нет. Поэтому первое if не работает. Дальше срабатывает elif по списку и тут сравнивается Ложь равна Лжи? Да. Это верно, поэтому выводим переменную сообщение_классной_руководительнице. А что если бы я_пошел_в_школу - это ни правда (True), ни ложь (False)? Допустим, переменная станет такой:
я_пошел_в_школу = None
None - это что то вроде "пустота", "ничего". Тогда "Пустота == Правда" - неправда, "Пустота == Лжи" - тоже неверно, тогда срабатывает else:
Выводит "Булат проспал первые 6-7 уроков"
я_пошел_в_школу = None
None - это что то вроде "пустота", "ничего". Тогда "Пустота == Правда" - неправда, "Пустота == Лжи" - тоже неверно, тогда срабатывает else:
Выводит "Булат проспал первые 6-7 уроков"
Важно
Пару важных моментов
Про форматирование и стиль
В следующих уроках я буду использовать вот такую запись:
txt
>> ввод
<< выводДве угловые скобки влево - это вывод программы, то есть, то, что печатает программа. Две скобки вправо - это ввод пользователя:
txt
>> - ввожу что нибудь
<< - пайтон что то выводит в ответПро пайтон функции
Иногда в ОГЭ встречается, что надо вывести что-то вроде "Результат: 69". Но результат у нас хранится в переменной, поэтому делаем вот так:
python
# ... какой-то код ...
результат = 69
print("Результат:",результат)Вывод:
txt
<< Результат: 69Чтобы передать строку с переменной, надо объединить через ","
Чтобы точно понять, вот как это работает на другом примере:
python
# объявляем строку
имя = "Булат"
print(имя,"- его имя:",имя)Вывод:
txt
<< Булат - его имя: БулатСложение чисел
Например объявим переменную "возраст" и добавим к ней 1:
python
возраст = 16
print(возраст)
# чтобы прибавить один год:
возраст += 1
print(возраст)
# еще раз:
возраст += 1
print(возраст)Вывод:
txt
<< 16 <- самое первое значение
<< 17 <- прибавили первый год
<< 18 <- прибавили второй годПо такому же принципу вычитание:
python
возраст = 16
print(возраст)
возраст -= 1
print(возраст)
возраст -= 1
print(возраст)Вывод:
txt
<< 16 <- самое первое значение
<< 15 <- вычли первый год
<< 14 <- вычли второй годЕсли забыли, как вычитать, то можно просто сделать так:
python
возраст = 16
# припишем старость
возраст = возраст + 50
print(возраст)Вывод:
txt
<< 66То есть, мы присваиваем значению "возраст" текущее значение "возраст" и еще 50 лет. Грубо говоря, компьютер видит что-то типа такого:
python
возраст = 16
возраст = 16 + 50Про форматирование Пайтона
Возможно, вы не заметили, но количество пробелов в Пайтоне очень критично, например:
python
произвольная_переменная = 123
if произвольная_переменная > 10:
<- вот этот отступ
print("больше")
else:
print("меньше")Код выше запуститься без проблем, а вот этот код не запустится:
python
произвольная_переменная = 123
if произвольная_переменная > 10:
print("больше")
# print СЪЕХАЛ!
else:
print("меньше")Для одинакового отступа используется клавиша Tab (табуляция). Но можно вручную везде писать проблемы, главное чтобы они были равны:
python
# ПЛОХО!
произвольная_переменная = 123
if произвольная_переменная > 10:
...print("больше")
else:
....print("меньше")
# РАБОТАЕТ!
if произвольная_переменная > 10:
...print("больше")
else:
...print("меньше")