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

Python实现2、4、7、28、33、198…序列计算求助,现有代码运行异常

问题分析与代码修正

原代码错误点

  • 初始值设置错误:序列第1项为2,原代码初始值r设为0,计算起点完全错误
  • 判断逻辑错误:原代码判断的是输入的总项数n的奇偶性,实际需要判断当前遍历项的位置i的奇偶性
  • 循环范围错误:初始值已经对应i=1的结果,不需要再遍历i=1,否则会多执行一次计算导致结果偏离

序列规则确认

给出的序列对应计算规则如下:

  • 第1项(i=1)固定值为2
  • 当i为偶数时,当前项 = 前一项的值 * i
  • 当i为奇数时,当前项 = 前一项的值 + i
    验证:i=2(偶)→22=4;i=3(奇)→4+3=7;i=4(偶)→74=28;i=5(奇)→28+5=33;i=6(偶)→33*6=198,和给出的序列完全匹配。

修正后代码

n = int(input("Enter value N: "))
if n < 1:
    print("请输入大于等于1的正整数")
else:
    r = 2
    for i in range(2, n+1):
        if i % 2 == 0:
            r *= i
        else:
            r += i
    print(r)

测试验证

  • 输入1 → 输出2
  • 输入3 → 输出7
  • 输入6 → 输出198
    完全符合预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:27:03