Python计算常用统计量化

Python计算常用统计量化
计算并输出计数、总和、平均值、最大值、最小值、极差、样本方差、样本标准差和中位数等常用统计量。pythonimport mathdef get_numbers_from_input(prompt):从用户输入中解析数字列表while True:raw input(prompt).strip()if not raw:print(输入不能为空请重新输入。)continue# 尝试用空格或逗号分割parts raw.replace(,, ).split()nums []for p in parts:try:nums.append(float(p))except ValueError:print(f无法解析 {p} 为数字请重新输入。)breakelse:if nums:return numselse:print(未检测到有效数字请重新输入。)def calculate_stats(nums):计算并返回统计字典n len(nums)total sum(nums)mean total / nsorted_nums sorted(nums)minimum sorted_nums[0]maximum sorted_nums[-1]range_val maximum - minimum# 样本方差除以 n-1if n 2:variance Nonestd_dev Noneelse:variance sum((x - mean) ** 2 for x in nums) / (n - 1)std_dev math.sqrt(variance)# 中位数if n % 2 1:median sorted_nums[n // 2]else:median (sorted_nums[n // 2 - 1] sorted_nums[n // 2]) / 2return {count: n,sum: total,mean: mean,min: minimum,max: maximum,range: range_val,variance_sample: variance,std_dev_sample: std_dev,median: median}def main():print( 数值统计工具 )print(请输入若干个数字用空格或逗号分隔例如1.5, 2, 3.8)nums get_numbers_from_input(数字: )stats calculate_stats(nums)print(\n--- 统计结果 ---)print(f数据个数: {stats[count]})print(f总和: {stats[sum]:.4f})print(f平均值: {stats[mean]:.4f})print(f最小值: {stats[min]:.4f})print(f最大值: {stats[max]:.4f})print(f极差: {stats[range]:.4f})if stats[variance_sample] is not None:print(f样本方差: {stats[variance_sample]:.4f})print(f样本标准差: {stats[std_dev_sample]:.4f})else:print(样本方差: 数据少于2个无法计算)print(f中位数: {stats[median]:.4f})if __name__ __main__:main()使用说明1. 运行程序后按提示输入数字例如 12 34.5 67 89.1 或 12,34.5,67,89.1。2. 程序会依次显示各项统计结果所有数值保留四位小数。3. 如果输入少于2个数字方差和标准差会显示“无法计算”。个人建议· 如需总体方差除以 n可修改 variance 计算公式为 sum((x - mean)**2) / n。· 如需支持更多统计量如四分位数、众数等可自行扩展 calculate_stats 函数。