要求用户从键盘输入任意个整数,以回车结束,编程输出这列数的个数、总和、平均值、方差和中位数等,可采用模块化程序设计。python
时间: 2024-10-17 11:07:08 浏览: 18
matlab基础编程:17 matlab数理统计随机数的产生及求解平均值和中位数.zip
在Python中,你可以使用`sys`模块来获取用户的输入,并结合`math`模块计算统计信息。下面是一个模块化的示例程序,它会提示用户输入整数,直到用户按下回车键:
```python
import sys
import math
def get_user_input():
numbers = []
while True:
try:
num = int(input("请输入一个整数(按回车键结束):"))
numbers.append(num)
except ValueError:
break
return numbers
def calculate_statistics(numbers):
total_sum = sum(numbers)
count = len(numbers)
# 计算平均值
average = total_sum / count if count > 0 else 0
# 方差
variance = sum((x - average) ** 2 for x in numbers) / count if count > 1 else 0
# 中位数(对于偶数个数,取中间两个数的平均值)
numbers.sort()
median = (numbers[count // 2] + numbers[count // 2 - 1]) / 2 if count % 2 == 0 else numbers[count // 2]
return count, total_sum, average, variance, median
if __name__ == "__main__":
user_numbers = get_user_input()
stats = calculate_statistics(user_numbers)
print(f"整数个数:{stats[0]}")
print(f"总和:{stats[1]}")
print(f"平均值:{stats[2]:.2f}")
print(f"方差:{stats[3]:.2f}")
print(f"中位数:{stats[4]}")
```
在这个程序中,`get_user_input()`函数负责收集用户输入,而`calculate_statistics()`函数则负责计算统计量。当运行这个脚本时,它会依次显示数字的数量、总和、平均值、方差和中位数。
阅读全文