用序列数据从控制台获取一组整数数据, 求这组数据的平均值、标准差和中位数,
时间: 2023-06-10 20:05:54 浏览: 85
好的,以下是 Python 代码实现:
```python
import math
# 从控制台获取一组整数数据
data = input("请输入一组整数数据,以空格分隔:").split()
data = [int(x) for x in data]
# 计算平均值
mean = sum(data) / len(data)
# 计算标准差
variance = sum([(x - mean) ** 2 for x in data]) / len(data)
std_dev = math.sqrt(variance)
# 计算中位数
data.sort()
mid = len(data) // 2
median = (data[mid] + data[-mid-1]) / 2 if len(data) % 2 == 0 else data[mid]
# 输出结果
print("平均值:", mean)
print("标准差:", std_dev)
print("中位数:", median)
```
运行程序后,输入一组整数数据(以空格分隔),程序会输出该组数据的平均值、标准差和中位数。
注意,本程序中的标准差是用样本标准差计算的(即除以 $n-1$ 而不是 $n$),如果需要计算总体标准差,可以将计算公式中的 `len(data)` 改为总体样本数。
相关问题
python用序列类型从控制台获取一组整数数据, 求这组数据的平均值、标准差和中位数,
可以使用Python内置的模块statistics来计算平均值、标准差和中位数。同时,使用input函数从控制台获取一组整数数据,可以使用split()方法将输入的字符串分割成整数列表。
以下是示例代码:
```python
import statistics
data = input("请输入一组整数,用空格分隔:")
data = list(map(int, data.split()))
mean = statistics.mean(data) # 平均值
stdev = statistics.stdev(data) # 标准差
median = statistics.median(data) # 中位数
print("平均值:", mean)
print("标准差:", stdev)
print("中位数:", median)
```
运行示例:
```
请输入一组整数,用空格分隔:1 2 3 4 5
平均值: 3
标准差: 1.5811388300841898
中位数: 3
```
阅读全文