【发布时间】:2023-03-12 08:51:01
【问题描述】:
无法编写要求用户输入三个整数、通过名为 (avg) 的函数并将平均值作为 (float) 值返回的函数式 Python 代码。
【问题讨论】:
-
为什么不呢?如果你想问一个问题,问一个问题。
-
能否请您添加一些您尝试过的代码并在错误中寻求帮助?
标签: python input user-defined-functions average
无法编写要求用户输入三个整数、通过名为 (avg) 的函数并将平均值作为 (float) 值返回的函数式 Python 代码。
【问题讨论】:
标签: python input user-defined-functions average
如果您使用的是 Python2,则需要确保强制除法浮动
>>> (3+3+4)/3
3
>>> (3+3+4)/3.0
3.3333333333333335
【讨论】:
平均值的公式是参数的总和除以参数的数量。所以你添加 3 个参数,然后除以 3 得到你想要的!
def average(a,b,c):
mean = (a + b + c)/3.0
return mean
注意:我使用 3.0 而不是 3,所以结果是浮点数!
现在,除了所有这些之外,您可能还需要一个可以处理大量不同输入的函数!所以*args 是您想要执行此操作的方式,因此您可以编写一个函数,该函数将采用任意数量的参数进行平均:
In [45]: def average(*args):
....: return sum(args)/float(len(args))
....:
In [46]: average(1,10,4,5,8,9)
Out[46]: 6.166666666666667
【讨论】: