Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python, найти минимальное число Используя только If else

mixail shpilev Ученик (161), закрыт 1 год назад
Помогите, вообще не могу понять, что происходит, все вроде должно работать, но код с разными числами ведет себе максимально странно, что не так? К примеру если взять исходные данные (18 7 19), то ответом выдает 18. Это странно т.к условие (if a<=b and a<=c:) было выполнено, хотя не должно. Плюсом не совсем понятно, что выводить если числа будут равны, одно число или все

a,b,c = input().split()
a,b,c == int(a),int(b),int(c)

if a<=b and a<=c:
if a==b or a==c:
if a==b and a!=c:
print(a,b)
elif a==c and a!=b:
print(a,c)
else:
print(a,b,c)
else:
print(a)
elif b<=c:
if b==c:
print(b,c)
elif b<c:
print(b)
else:
print(c)
Дополнен 1 год назад
Лучший ответ
Николай Веселуха Высший разум (370805) 1 год назад
 a, b, c = list(map(int, input().split(' '))) 
m = c
if a < m:
m = a
if b < m:
m = b
print(m)
Остальные ответы
XpeRiCall [_25_] Неважный Знаток (346) 1 год назад
Проблема в вашем коде заключается в неправильном синтаксисе. Код должен быть правильно выровнен для работы с условными операторами if-else, и вы должны использовать двоеточия после каждого оператора if, elif и else. Кроме того, вы забыли использовать оператор присваивания для конвертации строковых значений в целочисленные значения. Вот исправленный код:

a, b, c = input().split()
a, b, c = int(a), int(b), int(c)

if a <= b and a <= c:
if a == b or a == c:
if a == b and a != c:
print(a, b)
elif a == c and a != b:
print(a, c)
else:
print(a, b, c)
else:
print(a)
elif b <= c:
if b == c:
print(b, c)
elif b < c:
print(b)
else:
print(c)

Теперь код должен корректно работать и выводить минимальное число корректно. Если два или три числа равны, код будет печатать соответствующие значения.
mixail shpilevУченик (161) 1 год назад
Сделал как написали, ничего не изменилось
Celtic Hammer Мудрец (16718) 1 год назад
 a,b,c = list(map(int,input().split(' '))) 
if a < b:
min = a
else: min = b
if c < min:
min = c
print(min)
mixail shpilevУченик (161) 1 год назад
Нужно без использования min
mixail shpilev, это переменная, а не функция
Celtic HammerМудрец (16718) 1 год назад
min в данном случае не имеет никакого отношения к питоновской функции min. Это просто название переменной
S.H.I. Оракул (68575) 1 год назад
Одна из проблем в вашем коде заключается в том, что вы используете оператор сравнения == вместо оператора присваивания = при преобразовании переменных a, b и c в целые числа. Вот исправленная версия вашего кода:
 a,b,c = input().split()  
a,b,c = int(a),int(b),int(c)

if a<=b and a<=c:
if a==b or a==c:
if a==b and a!=c:
print(a,b)
elif a==c and a!=b:
print(a,c)
else:
print(a,b,c)
else:
print(a)
elif b<=c:
if b==c:
print(b,c)
elif b print(b)
else:
print(c)
mixail shpilevУченик (161) 1 год назад
Большое спасибо, второй день пытаюсь разобраться, помогли)
Celtic Hammer Мудрец (16718) Этот тип не сам отвечает, а копирует ответы которые генерирует нейросеть. Дешевой славы в тырнете за чужой счет захотелось гражданину
Похожие вопросы