обьясните пожалуйста простенькую задачку)

Рауф

Новичок
Пользователь
Авг 25, 2020
13
0
1
Здравствуйте, пару дней как начал учить питон по видеурокам, так как давно этим интересовался) ввела в небольшой ступор данная задачка, откуда тут ответ 2, и где тут вообще условие, к которому крепится if как таковое ? помогите кому не сложно)
 

Вложения

  • Безымянный.png
    Безымянный.png
    134,9 КБ · Просмотры: 6

floordiv

Пух
Команда форума
Модератор
Авг 14, 2020
21
7
3
ветвление if срабатывает только в том случае, если данное ей условие отдает True. А вот в каком виде это будет - просто if True или if 1 == 1 - уже не имеет значения. Оператор not же инвертирует булевое значение на противоположное - из True делает False, и наоборот.

А теперь, к самой задаче. Первый if не сработает, так как not True даст False. А вот теперь давайте разберем, почему сработает второй elif.
Для начала, нужно понимать, что в питоне - как и в математике - скобки имеют приоритет. Исходя из чего, not, стоящий перед скобками, инвертирует значение, выходящее из скобок. А что же в самих скобках? 1 + 1 == 3. Т.е. всё идёт к 2 == 3. Поскольку 2 - ну это не 3, что логично, то из скобок мы получаем False, который уже становится True из-за стоящего перед скобками not, а значит - и срабатывает условие, и выводится число 2
 
  • Мне нравится
Реакции: Рауф

Рауф

Новичок
Пользователь
Авг 25, 2020
13
0
1
ветвление if срабатывает только в том случае, если данное ей условие отдает True. А вот в каком виде это будет - просто if True или if 1 == 1 - уже не имеет значения. Оператор not же инвертирует булевое значение на противоположное - из True делает False, и наоборот.

А теперь, к самой задаче. Первый if не сработает, так как not True даст False. А вот теперь давайте разберем, почему сработает второй elif.
Для начала, нужно понимать, что в питоне - как и в математике - скобки имеют приоритет. Исходя из чего, not, стоящий перед скобками, инвертирует значение, выходящее из скобок. А что же в самих скобках? 1 + 1 == 3. Т.е. всё идёт к 2 == 3. Поскольку 2 - ну это не 3, что логично, то из скобок мы получаем False, который уже становится True из-за стоящего перед скобками not, а значит - и срабатывает условие, и выводится число 2
спасибо вам огромное!
 

Форум IT Специалистов