Как исключить из диапазона число в языке Python?

Добрый день!
Начала изучать Python на Stepic'е.
Код такой:
a = int(input())
b = int(input())
c = int(input())
x = max(a,b,c)
y = min(a,b,c)
print (x)
print (y)
????
как вывести 3е число, не являющееся ни min ни max?
  • Вопрос задан
  • 940 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 4
aRegius
@aRegius
Python Enthusiast
Добрый день!

Если чисел три:
>>> a = 1
>>> b = 5
>>> c = 3
>>> x_min, x_avg, x_max = sorted((a, b, c))
>>> x_min
1
>>> x_max
5
>>> x_avg
3

Если больше трех:
>>> a = 1
>>> b = 5
>>> c = 3
>>> d = 2
>>> x_min, *x_avg, x_max = sorted((a, b, c, d))
>>> x_min
1
>>> x_max
5
>>> x_avg
[2, 3]
Ответ написан
Комментировать
tsarevfs
@tsarevfs
C++ developer
min(max(a, b), max(b, c), max(c, a))

или отсортируйте с помощью sorted функции
Ответ написан
Комментировать
@ravil88 Автор вопроса
Спасибо за ответы!!!
диапазоном я назвал то, что входит в (a,b,c) ))))
Ответ написан
мне для "больше трех" вариант с *x_avg у aRegius понравился - но это если непременно идёт присвоение min и max. А самому же по первоначалу в голову пришло тоже sorted + слайс.
a,b,c,d = 1,5,2,4
sorted((a,b,c,d))[1:-1]

ну, а если всё же три, то просто:
sorted((a,b,c))[1]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы