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

Python中如何将循环每次迭代的结果相乘来实现阶乘计算?

阶乘循环实现的代码修正方案

错误原因

你现有代码的核心问题是没有设置累乘结果的存储变量,每次循环仅计算并打印了单次的k*(k-t)运算结果,没有把每次迭代的数值累积相乘,因此无法得到最终的阶乘值。

修正代码

for循环实现(写法更简洁)

def myfactorial(k):
    result = 1
    # 遍历1到k的所有整数,依次累乘
    for num in range(1, k+1):
        result *= num
    return result

# 测试计算7的阶乘
print(myfactorial(7))

保留while循环的实现

如果你想沿用原来的while循环写法,可以改成如下版本:

def myfactorial(k):
    t = 1
    result = 1
    while t <= k:
        result *= t
        t += 1
    return result

print(myfactorial(7))

效果验证

上述代码运行后会输出5040,也就是7的阶乘的正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:06:05