Вопрос Простой код на python. некорректно работает.

Регистрация
31 Дек 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Добрый день!

Несколько дней назад начал осваивать первый язык программирования, а именно Python.

Написал простую программу, но она выводит неправильный ответ.

Прошу доступно объяснить почему так происходит.
309491023_a60587e95de1092280b88f498de14405_800.png

Задача максимально простая - из 4 чисел (введенных пользователем)

Отобразить наименьшее число.

Знаю, что можно использовать функцию min, но в данном контексте задача сделать именно через if.



Вопрос:



Почему программа выводит два числа? 100 и 5.

Если в первом условии прописано, что "ЕСЛИ 100 МЕНЬШЕ 200 И 5 И 300: НАПИШИ 100"

Очевидно, что 100 меньше 200, НО оно же не меньше 5.

Значит вывод команда "принт" не должна сработать.
 
Вместо того, чтоб бы синтаксис мучить, разобрался бы с булевой алгеброй и приоритетом операций.
 
Ты не до конца понял смысл and. Он разграничивает выражения, в твоём случае это выглядит как (a > 0 | a) – интерпретатор не понимает что это относится к первому выражению и исполняет их по очереди сначала а > 0 а потом просто а. Надо явно объяснить интрпритатору a > 0 and a > a, and это как точка, как завершение и начало нового выражения, он не связывает а разграничивает.
 
Всё правильно работает.
В первом условии прописано, что "ЕСЛИ 100 МЕНЬШЕ 200 и С ненулевое и Д ненулевое то НАПИШИ 100"
 
Сравнение так не записывается.
if a<b and a<c and a<d
Все остальные строки в таком же виде.
 
Назад
Сверху