Я понимаю, что это может быть базовым, но у меня есть задача создать две функции для поиска средних и медианных значений и их внедрения в программу, которая будет запрашивать ввод последовательность чисел. Я выполнял обе функции отдельно и тестировал их, оба отлично работали. Теперь я помещаю их в одну и ту же программу и просто получаю ошибку типа, говорящую мне оглянуться на мое среднее значение(). Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно, и как это сделать. Я не понимаю, почему средняя функция отлично работала с использованием списков раньше, но теперь она говорит, что тип oprand не будет работать с 'int' и 'list'.Почему я продолжаю получать ошибку этого типа? (Python)
values = []
loopy = 0
#Median
def median_average(*args):
loop = 0
num_order = sorted(args)
length = len(args)
half_length = int((length/2)-1)
half_length_1 = int((length/2))
if length % 2 == 0:
even_averagenf = (num_order[half_length]+num_order[half_length_1])/2
even_average = float(even_averagenf)
loop = 1
if length % 2 != 0:
odd_average = (num_order[int(half_length_1)])
loop = 2
if loop == 2:
return odd_average
if loop == 1:
return even_average
#Mean
def mean_average(*args):
mean = sum(args)/len(args))
return mean
while loopy < 1:
user_v = (input("Please enter your sequence of numbers, stop by typing 'end':"))
if user_v == "end":
print("The median value of your sequence is:", median_average(values))
print("The mean value of your sequence is:", mean_average(values))
loopy = 1
else:
values.append(int(user_v))
Любая помощь очень ценится
Просьба указать точный текст ошибки, которую вы получаете. – yole
'mean = sum (args)/len (args))' не вызывает ли синтаксическую ошибку? – aa333
Поместите 'print (args)' в начало 'mean_average', и вы увидите проблему. То, как вы его написали, 'args' -' [[1,2,3]] '. – tdelaney