В Python, логический и
Оператор имеет приоритет до логика или
оператор. Как именно эта работа?
Рассмотрим следующий пример код головоломки:
# Brain Puzzle a, b, c, d = True, True, True, False if b and not d and a and not b: if b or a: print('42') elif d and c: print('yes') print('yes') elif d and c or b: if b and not d or d: print('python') print('yes') else: print('42')
Прежде чем читать дальше, возьмите предположение: Какой вывод этого кода головоломка? (Вы можете решить головоломку интерактивно в приложении Finxter.)
Головоломка проверяет ваше понимание логики приоритета: и
до или
Отказ
Один из моих «Coffe Break Python» по электронной почте участники по электронной почте Пол попросил следующий замечательный вопрос относительно этой головоломки:
«Спасибо за эти головоломки – они держат мою мозгу.
С помощью этого, не могли бы вы предоставить пару строк о приоритете оценки логической операции без скобок. Как это то, я верю. Я понял это неправильно, так что я смотрю на ваше объяснение. Вы говорите, что (а) означает, и «и» и «не». Но проблема заключается в том, как эти объединяются. Работа назад от ответа, код, очевидно, попадает в блок ELIF, а затем запускает оба элемента. Но почему?
Спасибо, Пол “
Отличный вопрос! Вот казнистый поток головоломки:
Важная часть – это Элиф
Заявление, где я указывал на логику приоритета, используя кронштейны: выражение D и C или B
семантически эквивалентен выражению (D и C) или B
Отказ
Следовательно, выход головоломки кода:
python yes
Куда пойти отсюда?
Если у вас есть трудности понять эти основные операторы логики, рассмотрим книгу «Кофе-брейк Python Workbook», которая содержит множество пазлов практического кода, как этот. Это улучшит ваши навыки понимания быстрого кода.
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.