我正在尝试创建一个基本的平均函数,允许用户输入整数列表并返回数据集的平均值。其中一个警告是该程序应该允许用户选择他们希望答案四舍五入到的小数。
下面的代码片段是我的mean()函数中的内容,它将一个数字列表作为参数。
例如,如果我输入[5,3,3,2]并想要舍入到2位小数(应该是3.25),程序将返回3.0。
sum = 0
for item in lst:
sum += item
mean = round(float(sum / len(lst)), decimals)
print mean
答案 0 :(得分:5)
如果两个参数都是整数,则在 Python2 中使用/
将执行整数除法。因此,您希望将sum
投射到float
。
mean = round(float(sum) / len(lst), decimals)
尽管如此,我要指出您不应该使用sum
作为变量名,因为它会覆盖sum
内置。实际上,您实际上应该使用sum
内置。
lst = [1, 2, 4]
mean = round(float(sum(lst)) / len(lst), 2)
print (mean) # 2.33