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

Python中如何使用数字0作为终止条件实现数值统计功能

问题原因

你现有代码的问题在于没有对输入值做判断,所有输入直接追加到列表,只有输入非数字内容触发int转换报错时才会跳出循环,自然无法响应输入0的终止逻辑。

调整后代码
user_list = []

print("输入0时将输出以下统计结果:\n\t 1. 总和 \n\t 2. 平均值 \n\t 3. 最小值 \n\t 4. 最大值")

while True:
    try:
        input_num = int(input("请输入数字后按回车:"))
        # 遇到输入0直接终止循环,不存入列表
        if input_num == 0:
            break
        user_list.append(input_num)
    except ValueError:
        print("输入无效,请输入合法数字")

if not user_list:
    print("未输入任何有效数字,无统计结果")
else:
    sum_val = sum(user_list)
    avg_val = sum_val / len(user_list)
    min_val = min(user_list)
    max_val = max(user_list)
    print("统计结果:")
    print(f"总和:{sum_val}")
    print(f"平均值:{avg_val:.2f}")
    print(f"最小值:{min_val}")
    print(f"最大值:{max_val}")
核心修改说明
  • 把异常捕获放到循环内部,仅用来处理非数字输入的场景,输入非法时给出提示后要求重新输入,不会直接终止程序
  • 每次输入转成数字后先判断是否为0,是就直接跳出循环,不把0存入列表
  • 统计计算全部使用Python内置函数,无需导入任何库,满足要求
  • 新增空列表判断逻辑,避免用户未输入任何有效数字直接输0时,计算平均值、最值触发报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:15:03