圆形函数不是四舍五入吗?

Round function isn't rounding?

我正在尝试创建一个基本均值函数,允许用户输入整数列表和 return 数据集的均值。注意事项之一是该程序应允许用户 select 他们希望将答案四舍五入到多少位小数。

下面的代码片段是我的 mean() 函数的内容,它以数字列表作为参数。

比如我输入[5, 3, 3, 2],想四舍五入到2位小数,应该是3.25,程序returns 3.0.

sum = 0
for item in lst:
    sum += item

mean = round(float(sum / len(lst)), decimals)

print mean

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