одному числу в строке, и выводит на консоль в три строки сначала максимальное, потом минимальное, после чего оставшееся число.
На ввод могут подаваться и повторяющиеся числа.
Использовать только условные операторы.
Вопрос: Можно ли это как-то сократить и сделать проще, или это единственный вариант нахождения мин, макс с помощью ифов?
a = int(input())
b = int(input())
c = int(input())
if (a >= b >= c):
max = a
sr = b
min = c
elif (a >= c >= b):
max = a
sr = c
min = b
elif (b >= a >= c):
max = b
sr = a
min = c
elif (b >= c >= a):
max = b
sr = c
min = a
elif (c >= a >= b):
max = c
sr = a
min = b
elif (c >= b >= a):
max = c
sr = b
min = a
print(max)
print(min)
print(sr)
Думать лень, но возможно оптимальнее делать сравнения попарно - тогда можно будет уменьшить дублирование которорых проверок в вашем коде
Как-то так наверное if a < b: a, b = b, a if a < c: a, c = c, a if c < b: c, b = b, c print(a) print(b) print(c)
А вот и однострочник (такое веселее искать) 😊 print('{2}\n{0}\n{1}'.format(*sorted([int(input()) for _ in range(3)])))
Обсуждают сегодня