#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. Теперь я обновил свой пост наглядным примером. Вы понимаете, о чем я говорю?