Я написал среднюю функцию в python
def mean(*args):
numbers = args
sm=0
length = len(numbers)
if length>0:
for num in numbers:
sm = sm+num
return sm/length
else:
return 'FAIL'
, которая отлично работает с числовыми значениями.Теперь я хочу изменить его так, чтобы он также принимал итераторы во входных данных.
Модифицированная функция:
def mean_new(*args):
numbers = args
sm=0
count=0
for num in numbers:
if iter(num):
data = list(num)
sm += sum(data)
count+=len(data)
else:
sm = sm+num
count+=1
return sm/count
Функция mean_new не работает и выдает ошибку 'int' объект неитерация.Не могли бы вы помочь мне определить, что я делаю неправильно в функции mean_new.Функция mean_new должна работать как с числовым, так и с многократным вводом.