python输入10个数据,分别统计平均值、标准差、中位数、及格率(输入的数据能够自动停止输入)
时间: 2024-10-25 07:09:55 浏览: 13
在Python中,你可以使用内置函数和一些简单的循环结构来实现这个功能。这里是一个示例程序:
```python
def process_data():
data = []
while True:
try:
num = float(input("请输入一个数字(按q退出): "))
if num == 'q':
break
data.append(num)
except ValueError:
print("无效输入,请输入数字或q退出。")
if not data:
print("未输入任何数值")
return
average = sum(data) / len(data)
std_deviation = (sum((xi - average) ** 2 for xi in data) / len(data)) ** 0.5
median = sorted(data)[len(data) // 2] if len(data) % 2 else (sorted(data)[len(data) // 2 - 1] + sorted(data)[len(data) // 2]) / 2
pass_rate = len([x for x in data if x >= 60]) / len(data) * 100 # 假设及格线为60分
print(f"平均值: {average}")
print(f"标准差: {std_deviation}")
print(f"中位数: {median}")
print(f"及格率: {pass_rate:.2f}%")
process_data()
```
阅读全文