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

Python求1到指定数平均值程序及追踪表编写,代码报错求助

问题排查与修正方案

错误点分析

  1. 变量大小写冲突:Python是大小写敏感语言,你定义了Sum=0,但循环中使用的是小写sum,这是一个未初始化的新变量,会触发UnboundLocalError。另外sum是Python内置函数,不建议用作自定义变量名,换成total更安全。
  2. 循环范围错误:range(1, Range)是左闭右开区间,只会遍历到Range-1,无法包含你输入的目标数字,需要改为range(1, Range+1)才能覆盖1到目标数字的所有整数。
  3. 平均值计算逻辑错误:平均值应该是总和除以数字的总个数(即你输入的Range),而不是最后一次循环的i值,否则结果会偏离正确值。

修正后的代码

target_num = int(input("请输入目标数字: "))
total = 0
print("迭代追踪表:")
print("迭代次数 | 当前i值 | 当前总和")
print("---------------------------")
for idx, i in enumerate(range(1, target_num + 1), 1):
    total += i
    print(f"{idx:^9} | {i:^8} | {total:^10}")

average = total / target_num
print(f"\n1到{target_num}的平均值为: {average}")

代码说明

  • 改用target_num替代Range,用total替代Sum,变量名更直观且避免与内置函数冲突。
  • 使用enumerate记录迭代次数,同时打印每次循环的i值和当前总和,生成清晰的追踪表。
  • 平均值计算采用总和 / 数字总数的正确逻辑,确保结果准确。

示例运行(输入5时)

请输入目标数字: 5
迭代追踪表:
迭代次数 | 当前i值 | 当前总和
---------------------------
    1    |    1    |    1    
    2    |    2    |    3    
    3    |    3    |    6    
    4    |    4    |    10   
    5    |    5    |    15   

1到5的平均值为: 3.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:55:25