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

阶乘计算函数修正请求:需包含函数参数、返回语句及循环

阶乘函数代码修正

你的代码存在几个关键问题,导致无法正常运行:

  • 开头直接把参数n赋值为1,彻底覆盖了传入的输入值,函数根本无法获取需要计算阶乘的目标数字
  • for循环的range(1,i)中,i未提前定义,且正确的遍历范围应该是从1到输入的n(包含n),需写成range(1, n+1)
  • 存储乘积的变量不应使用n,会和参数名混淆,建议换成result这类清晰的命名

修正后的代码如下:

def factorial(n):
    result = 1  # 初始化乘积为1,因为1乘任何数不改变结果
    for i in range(1, n + 1):  # 遍历1到n的所有整数
        result = i * result  # 累乘每一个数
    return result

测试验证:

  • factorial(1) 返回1,符合预期
  • factorial(4) 计算123*4=24,结果正确
  • factorial(13) 返回6227020800,与示例一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:57:32