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

Python计算1到n奇数平均值代码运行结果错误排查求助

Python计算1~n范围内奇数平均值代码错误修复

问题原因

  • 变量名引用错误:代码中存储奇数累加和的变量为sum1,但计算平均值时错误使用了未定义的sum,实际运行会直接抛出NameError;就算是笔误将sum写为sum1,仍存在第二个逻辑错误。
  • 平均值计算逻辑错误:平均值应为奇数总和除以奇数的个数,而非除以输入的正整数k。以输入k=8为例,1~8范围内共有4个奇数,总和为16,正确计算应为16/4=4,原代码误除以总个数8,得到的结果自然不符合预期。

修复后的代码

k = int(input('Enter a positive integer: '))
while k <= 0:
    print('Please enter a positive integer!! \n')
    k = int(input('Enter a positive integer: '))
else:
    b = 1
    sum_odd = 0
    count_odd = 0
    while b <= k:
        if b % 2 == 1:
            sum_odd += b
            count_odd += 1
        b += 1
    avg = sum_odd / count_odd
    print(avg)

可选优化方案

可以用更简洁的Python语法实现相同逻辑,减少循环嵌套:

# 输入校验
while True:
    k = int(input('Enter a positive integer: '))
    if k > 0:
        break
    print('Please enter a positive integer!! \n')
# 直接生成奇数列表计算
odds = [i for i in range(1, k+1) if i%2 == 1]
avg = sum(odds)/len(odds)
print(avg)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:06:06