用可变数量参数编写函数,求任意多个数(至少一个数)的平均值。分别用不同数量的参数调用该函数。
def avg(*n):
return sum(n)/len(n)
print(avg(1))
print(avg(2,3,4,5))
def average(*args):
if len(args) == 0:
return 0
else:
total = sum(args)
return total / len(args)
# 测试
print(average(1, 2, 3)) # 2.0
print(average(4, 5, 6, 7)) # 5.5
print(average(10)) # 10.0
print(average()) # 0
print('first'.center(40, '='))
def a3(arg):
ret = [ ]
for i in range(len(arg)):
if i % 2 == 1:
ret.append(arg[i])
else:
pass
return ret
li = [11,22,33,44,55]
r = a3(li)
print(li)
print(r)
def avg(*args):
# 检查是否是数字
for num in args:
if not str(num).isnumeric():
return "参数中含有非数字值,请重新输入"
# 计算平均值
return sum(args) / len(args)
# 测试函数,输出
print(avg(1,2,3,4,5)) # 3.0
print(avg(1,2)) # 1.5
print(avg(1,2,3,4,5,6,7,8,9,10)) # 5.5
print(avg(1,2,3,'a','b','c')) # 参数中含有非数字值,请重新输入
解释:
avg()
,使用不定长参数,参数前加*
,将所有参数变为元组。for
循环遍历所有参数,使用 Python 内置的 isnumeric()
方法检查每一个参数是否是数字类型,如果不是,直接返回提示信息。sum()
求和,除以len(args)
就可以得到平均数。参考资料: