Python

Проблема на питоне

Даны три числа, вывести среднее (между наименьшим и наибольшим)

В коде логические ошибки. Сами условия нужно дополнить. Заметим, что у чисел есть всего 6 разных видов представления (в смысле перестановок). Это можно рассчитать по формуле или тупо все найти (далее построчно, на каждой строке по увеличению)
n1 < n2 < n3
n1 < n3 < n2
n2 < n1 < n3
n2 < n3 < n1
n3 < n1 < n2
n3 < n2 < n1
Таким образом 6 различных вариантов.
Для примера, давайте посмотрим на то, куда заходит первое условие (if n1 > n2)
У нас таких случаев три
n2 < n1 < n3 (1)
n2 < n3 < n1 (2)
n3 < n2 < n1 (3)
Внутреннее условие обработает только третий вариант (if n2 > n3), потому что только для него это верно
Во второе условие на этих примерах не зайдёт (по очевидной причине)
А в третье условие зайдёт только 2 пример.
Таким образом, первый пример нигде не обработается.
Также нигде нет условия на то: а вдруг числа одинаковые (если они могут таковыми быть).
Проще всего, лучше, не на таком примитивном уровне всё расписывать, а действительно: посчитать сумму и вычесть минимальное и максимальное значение - останется среднее. Это можно делать и без функции max, просто с помощью условий.
Тимофей Алексеев
Тимофей Алексеев
677
Лучший ответ
Твой код работает так, как ты и написал.
Смотри:
Ввели 1-2-3
* Если 1>2....Один меньше.
* Если 2>1.. Он больше, значит * Если 1>3. Один меньше. След. этап
* Если 1>3... Один меньше.
Конец.
До принта так и не дойдёт.
----
Начнём с того, что без ввода переменных, для хранения наибольшего и наименьшего числа, которые ты находишь в процессе, ты не сможешь найти их среднее значение.
// Чисто технически сможешь, но код будет больше и неудобней.
Игорь Бро
Игорь Бро
1 295