You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带输入校验的数值统计程序:输入END计算和、均值、标准差等指标

Python 数值统计程序实现

功能覆盖

  • 输入逻辑:持续接收用户输入,兼容整数、浮点数格式;输入END(不区分大小写)时终止输入流程;非数值类输入自动过滤,弹出提示后允许用户重新输入,程序不会报错终止
  • 基础统计:输入结束后输出所有有效数值的总和、平均值、总体标准差、最大值、最小值
  • 拓展功能:自动生成去重后的升序数值列表,同步展示每个数值的出现频率

完整可运行代码

import math

def number_statistics():
    valid_numbers = []
    while True:
        input_content = input("请输入数值(输入END结束统计):").strip()
        # 检测结束指令
        if input_content.upper() == "END":
            break
        # 校验输入是否为合法数值
        try:
            current_num = float(input_content)
            valid_numbers.append(current_num)
        except ValueError:
            print("*输入无效,请输入合法整数/浮点数,或输入END结束流程*")
            continue
    
    # 处理无有效输入的场景
    if not valid_numbers:
        print("\n未采集到任何有效数值,无统计结果")
        return
    
    # 计算基础统计指标
    total_sum = sum(valid_numbers)
    total_count = len(valid_numbers)
    average = total_sum / total_count
    # 计算总体标准差
    variance = sum((x - average) ** 2 for x in valid_numbers) / total_count
    std_deviation = math.sqrt(variance)
    max_num = max(valid_numbers)
    min_num = min(valid_numbers)

    # 输出基础统计结果
    print("\n===== 基础统计结果 =====")
    print(f"总和(sum):{total_sum:.3f}")
    print(f"平均值(average):{average:.3f}")
    print(f"标准差(Standard Deviation):{std_deviation:.3f}")
    print(f"最大值:{max_num:.3f}")
    print(f"最小值:{min_num:.3f}")

    # 拓展功能:去重排序+频次统计
    frequency = {}
    for num in valid_numbers:
        frequency[num] = frequency.get(num, 0) + 1
    sorted_unique_nums = sorted(frequency.keys())

    print("\n===== 拓展:去重数值频次表(升序) =====")
    for num in sorted_unique_nums:
        print(f"{num:.3f}:出现{frequency[num]}次")

if __name__ == "__main__":
    number_statistics()

运行示例

请输入数值(输入END结束统计):2
请输入数值(输入END结束统计):5.5
请输入数值(输入END结束统计):2
请输入数值(输入END结束统计):test
*输入无效,请输入合法整数/浮点数,或输入END结束流程*
请输入数值(输入END结束统计):7.2
请输入数值(输入END结束统计):END

===== 基础统计结果 =====
总和(sum):16.700
平均值(average):4.175
标准差(Standard Deviation):2.158
最大值:7.200
最小值:2.000

===== 拓展:去重数值频次表(升序) =====
2.000:出现2次
5.500:出现1次
7.200:出现1次

内容的提问来源于stack exchange,提问作者VANSH SAINI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:45:47