- 2

приоритет операторов

этот вопрос к последнему примеру: x = 4 y = 2 if not 1+1 == y or x == 4 and 7 == 8: print('yes') elif x > y: print('no') какое условие проверяется в первой строке? как и в какой последоватеоьности это читать? elif понятен, печатаем 'нет' если Истинно x больше y. Но твою мать. как понять первую запись? 1 + 1 == y #это True x == 4 and 7 == 8 #это False not 1 + 1 == y #not True даёт нам False типа if False or False: print('yes') ???? Объясните пожалуйста

8th Aug 2017, 3:06 PM
Александр
2 ответов
0
Read from left to right. If you have condition in parentheses - (2 > 5) it's executed first. 1. not (1 + 1 == 2 (True)) = False 2. False or (4 == 4 (True)) = True 3. True and (7 == 8 (False)) = False 4. If (False) -> elif (True) -> print('no') Assume 1 = True, 0 = False And: 1 and 1 - True 1 and 0 - False 0 and 1 - False 0 and 0 - False Or: 1 or 1 - True 1 or 0 - True 0 or 1 - True 0 or 0 - False Not: 1 and not 1 - False 1 and not 0 - True not (1 and 1) - False not (0 || not 1) - True
8th Aug 2017, 4:00 PM
Boris Batinkov
Boris Batinkov - avatar
0
Спасибо, разобрался. Но вот для чего такая абра-кадабра? ))
8th Aug 2017, 5:25 PM
Александр