
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, просто с помощью условий.
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, просто с помощью условий.
Твой код работает так, как ты и написал.
Смотри:
Ввели 1-2-3
* Если 1>2....Один меньше.
* Если 2>1.. Он больше, значит * Если 1>3. Один меньше. След. этап
* Если 1>3... Один меньше.
Конец.
До принта так и не дойдёт.
----
Начнём с того, что без ввода переменных, для хранения наибольшего и наименьшего числа, которые ты находишь в процессе, ты не сможешь найти их среднее значение.
// Чисто технически сможешь, но код будет больше и неудобней.
Смотри:
Ввели 1-2-3
* Если 1>2....Один меньше.
* Если 2>1.. Он больше, значит * Если 1>3. Один меньше. След. этап
* Если 1>3... Один меньше.
Конец.
До принта так и не дойдёт.
----
Начнём с того, что без ввода переменных, для хранения наибольшего и наименьшего числа, которые ты находишь в процессе, ты не сможешь найти их среднее значение.
// Чисто технически сможешь, но код будет больше и неудобней.
Похожие вопросы
- Очень странная проблема в питоне очень странная
- Что за зверь Питон.
- Питон во всем такой медленный? (сравнивал с JavaScript)
- Вы согласны с мнением, что питон хуже других языков программирования?
- Питон на сириусе. Кинотеатр
- Решить две задачи на питоне. Помогите пожалуйста
- Как сделать так чтобы питон воспринимал число 13, не как 1 и 3?
- Питон простенький код не могу понять в чем проблема нужно подсчитать кол во комнат площадью 9.2 кв м
- Помогите написать антивирус на питоне.
- Как с помощью питона изменить настройки в роутере