Сортировка по убыванию 3 целых числа > 0 без if и min/max функций
Вывести 3 числа в порядке убывания без использования функций, и так далее. Без max(), min(), if и прочего.
Объясняю), я сегодня делал КР по питону и я сделал через sorted, а препод сказал что можно еще проще и без if и я не могу понять, что он имел ввиду.
![]()
Без ветвления (без if ), выполняя одни и те же сравнения вне зависимости от ввода, можно отсортировать три числа a , b , c по убыванию, используя сети сортировки:
Значения заходят слева по проводам, выходят справа. Бо́льшие значения тонут, меньшие всплывают (по вертикальным линиям — компараторам: маx вниз, min наверх). Без min, max функций можно использовать индексацию:
True == 1 and False == 0 в Питоне, поэтому выражение [on_false, on_true][condition] возвращает on_false , если condition ложно и on_true — если истинно.
Код возвращает одну из шести возможных перестановок: abc acb cab bac bca cba так чтобы значения всегда шли по убыванию: sorted([a,b,c], reverse=True) . None никогда не выбирается, так как соответствует невозможным ситуациям (при корректном операторе сравнения): c > a >= b >= c и c <= a < b < c . Тест.
Name already in use
python_lessons / python_coursera / 2_week / 19_Упорядочить три числа.py /
- Go to file T
- Go to line L
- Go to definition R
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters