python编写一个求列表中数据的平均值和标准差的函数fun,fun只有两个形式参数x和y。x是列表,存储样本数据;y也是一个列表,存储传递的平均值和标准差。平均值和标准差的计算要通过编程计算(可以调用开根函数)。标准差s满足下面的方程。 编写一个主程序,实现下述功能: (1)随机生成20个10~100之间的实数,放在列表中 (2)调用fun函数求平均值、标准差,并输出结果。 (3)将列表元素排序后,以每行5个的形式输出
时间: 2023-06-05 07:07:30 浏览: 114
好的,根据您的要求,我会协助您回答问题和编写代码。
以下是Python代码:
```python
import random
import math
def fun(x, y):
# 计算平均值
total = sum(x)
avg = total / len(x)
y.append(avg)
# 计算标准差
variance = sum([((i - avg) ** 2) for i in x]) / len(x)
std_dev = math.sqrt(variance)
y.append(std_dev)
# 主程序
if __name__ == "__main__":
# 随机生成20个10~100之间的实数
num_list = [random.uniform(10, 100) for _ in range(20)]
print("生成的列表为:", num_list)
# 求平均值、标准差
res_list = []
fun(num_list, res_list)
print("平均值为:", res_list[0])
print("标准差为:", res_list[1])
# 排序后输出
num_list.sort()
print("排序后的列表为:")
for i in range(len(num_list)):
print(num_list[i], end=" ")
if (i + 1) % 5 == 0:
print() # 每5个一行换行输出
```
请问还有其他问题吗?
阅读全文