Нахождение медианы трех чисел в Python. 3.8.2

#python

#python

Вопрос:

Как мне найти медиану трех чисел без использования этой функции в python, есть ли другой способ median_1 = statistics.median(alpha_1)

 
    enter code here
def median(alpha_1):
    #median_1 = sorted(alpha)
    median_1 = statistics.median(alpha_1)
    return median_1

if __name__ == "__main__":
    # FIXME 1: Print the statement where you say what the program is going to do
    
    num_1 = int(input("Input first number:n"))
    num_2 = int(input("Input second number:n"))
    num_3 = int(input("Input third number:n"))
    # FIXME 2: Propmt the user to input 3 numbers
    c = num_1, num_2, num_3
    f = median(c)
    print("The median is",f)
  

Комментарии:

1. Попробуйте отсортировать список, а затем выбрать среднее значение.

2. Если у вас есть функция, которая принимает ровно три числа ( foo(a, b, c) ) , то вы можете использовать логику в виде нескольких операторов if, чтобы определить, какое число является средним. Если вы хотели что-то более масштабируемое / практичное, то почему бы не использовать statistics.median ?

3. @thegamecracks вы полностью правы, это делает работу, но по какой-то причине, когда я отправляю программу, она говорит, что это неправильно, но statistics.median более практичен.

Ответ №1:

Не самый эффективный для больших массивов, но только для трех элементов это будет хорошо:

 def find_median_three_elements(my_list):
    return sorted(my_list)[1]
  

Комментарии:

1. Эй, я попробовал ваш метод, но я использую функцию, и мой вывод должен возвращаться как одно число, например 1 или 2.

2. Эта строка возвращает одно число, когда alpha_1 является списком. Просто верните эту строку в вашей функции. Я отредактировал свой пост, чтобы быть более понятным.

3. Я понимаю это, но я разрешаю пользователю вводить числа, я не использую список, я должен ввести три числа, и мне нужно вычисление, которое выводит медиану.

4. Эта функция вычисляет медиану. Если вам нужно принимать пользовательский ввод и выводить на печать, это другой вопрос.

5. Теперь я обновил свой пост наглядным примером. Вы понимаете, о чем я говорю?