使用参数的打包解包编写一个函数求任意多个整数的平均值
时间: 2024-05-04 13:18:56 浏览: 77
可以使用 Python 中的 `*args` 参数来接收任意多个整数,然后计算它们的平均值。具体实现如下:
```python
def average(*args):
total = sum(args)
return total / len(args)
# 示例
print(average(1, 2, 3)) # 输出 2.0
print(average(10, 20, 30, 40, 50)) # 输出 30.0
```
在这个函数中,`*args` 表示接收任意多个位置参数,并将它们打包成一个元组。我们可以直接使用 `sum()` 函数计算它们的总和,再除以元组的长度,从而得到平均值。
相关问题
随机产生10个两位的正整数,存入列表1s中,输出1s中的这10个随机数,然后对这10个随机数求平均值,然后输出统计高于平均值的数有多少个。 输出随机十个两位的正整数分别是65 39 70 76 33 41 84 21 72 94,平均值为 59.50,高于平均值的数有六个数。
以下是一个Python程序,可以实现你所描述的功能:
```python
import random
# 随机生成10个两位的正整数
ls = [random.randint(10, 99) for _ in range(10)]
# 输出生成的随机数
print("输出随机十个两位的正整数分别是", end=" ")
print(*ls, sep=" ")
# 计算平均值
average = sum(ls) / len(ls)
print(f"平均值为 {average:.2f}", end=",")
# 统计高于平均值的数
count = sum(1 for num in ls if num > average)
print(f"高于平均值的数有{count}个数。")
```
这个程序的工作原理如下:
1. 首先,我们导入`random`模块,用于生成随机数。
2. 使用列表推导式生成一个包含10个随机两位数的列表`ls`。`random.randint(10, 99)`生成10到99之间的随机整数。
3. 使用`print`函数输出生成的随机数。`*ls`将列表解包,`sep=" "`确保数字之间以空格分隔。
4. 计算列表中所有数字的平均值。
5. 使用格式化字符串`f-string`来输出平均值,`{average:.2f}`确保平均值保留两位小数。
6. 使用生成器表达式`sum(1 for num in ls if num > average)`来统计高于平均值的数的个数。
7. 最后,输出高于平均值的数的个数。
运行这个程序,你将得到类似于你描述的输出结果。每次运行程序时,生成的随机数可能不同,因此平均值和高于平均值的数的个数也可能不同。
阅读全文
相关推荐















