news 2026/7/3 14:43:33

Python计算常用统计量化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python计算常用统计量化

计算并输出计数、总和、平均值、最大值、最小值、极差、样本方差、样本标准差和中位数等常用统计量。

```python

import math

def 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}' 为数字,请重新输入。")

break

else:

if nums:

return nums

else:

print("未检测到有效数字,请重新输入。")

def calculate_stats(nums):

"""计算并返回统计字典"""

n = len(nums)

total = sum(nums)

mean = total / n

sorted_nums = sorted(nums)

minimum = sorted_nums[0]

maximum = sorted_nums[-1]

range_val = maximum - minimum

# 样本方差(除以 n-1)

if n < 2:

variance = None

std_dev = None

else:

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]) / 2

return {

"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 函数。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 14:41:31

ICM-42688-P与STM32F410RB在工业自动化中的高精度应用

1. ICM-42688-P与STM32F410RB的黄金组合解析 在工业自动化和机器人控制领域&#xff0c;传感器精度与处理能力的平衡一直是工程师面临的挑战。ICM-42688-P作为TDK InvenSense推出的6轴MEMS运动传感器&#xff0c;与STMicroelectronics的STM32F410RB Cortex-M4微控制器形成的解决…

作者头像 李华
网站建设 2026/7/3 14:39:58

13DOF传感器与TM4C1299KCZAD的高精度定位系统设计

1. 项目背景与核心需求 在工业自动化、机器人导航和智能穿戴设备领域&#xff0c;精确的定位与运动追踪一直是技术难点。传统方案往往采用独立的惯性测量单元(IMU)与主控芯片分离的设计&#xff0c;导致系统延迟高、数据同步困难。这个项目创新性地将13自由度(13DOF)传感器与TM…

作者头像 李华
网站建设 2026/7/3 14:38:04

Linux环境下SDF密码设备接口集成实战:从编译链接到国密算法调用

1. 项目概述&#xff1a;为什么要在Linux上折腾SDF接口&#xff1f;如果你在金融、政务或者对数据安全有极高要求的企业里做开发&#xff0c;大概率听说过“国密算法”和“密码设备”。当你的应用需要调用一台物理的服务器密码机或者密码卡来执行SM2签名、SM4加解密时&#xff…

作者头像 李华
网站建设 2026/7/3 14:37:02

ComfyUI-WanVideoWrapper:从零到一的AI视频创作完全指南

ComfyUI-WanVideoWrapper&#xff1a;从零到一的AI视频创作完全指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 想用AI轻松制作专业级视频吗&#xff1f;ComfyUI-WanVideoWrapper是你的完美…

作者头像 李华