среднее арифметическое списка

Aiden North

Новичок
Пользователь
Июн 2, 2022
3
0
1
Python 3.7 Windows 10: Я новичок в программировании, самоучка. Я выполнял очередные задачки по питону и мне попалось любопытная задачка которую так и не смог решить и я хотел бы посмотреть примеры кода, чтобы понять в чём я ошибся, сама задача "Вычисление среднего арифметического списка. В случае, если список пустой, то выбрасывать исключение ValueError(«List is empty»)"...
Вот пример моего кода:
Код:
def mean_value(xs):
    if not isinstance(xs, (list, tuple)):
        raise TypeError(print('неправильный аргумент'))
    if len(xs) == 0:
        raise ValueError(print('List is empty'))
    sum = 0
    for n in xs:
        sum = sum+n
    return float(sum)/len(xs)

mean_value()
 

Slava-vlasenko

Новичок
Пользователь
Май 27, 2022
12
1
3
Какой тип значений в списке инт/флоат или стр? если инт/флоат то почему вместо цикла не сделать просто sum(xs) если стр то как вы складываете сум и элементы списка (н) в цикле? к тому же (sum = sum + n) можно заменить на (sum += n)
 

Aiden North

Новичок
Пользователь
Июн 2, 2022
3
0
1
Какой тип значений в списке инт/флоат или стр? если инт/флоат то почему вместо цикла не сделать просто sum(xs) если стр то как вы складываете сум и элементы списка (н) в цикле? к тому же (sum = sum + n) можно заменить на (sum += n)
К сожалению я сам не понял что автор этого задания имел ввиду... Скорее всего автор имел ввиду значение int
 

Slava-vlasenko

Новичок
Пользователь
Май 27, 2022
12
1
3
К сожалению я сам не понял что автор этого задания имел ввиду... Скорее всего автор имел ввиду значение int
Если инт, то зачем флоатить в конце? флоат не точное число, например float('0,1') + float('0,1') + float('0,1') == 0,3 выдаст False уж лучше оно преобразуется в фолс после деления, если вообще дробный результат будет
 

Форум IT Специалистов