首页 > 解决方案 > 我需要帮助获得一个 while 循环来迭代比第一次更多的阶乘程序

问题描述

我正在尝试定义一个阶乘程序来计算带有和不带有递归的阶乘。这是我到目前为止所拥有的:

def factorialNonRecursive(n):
    """Calculates a factorial of n without using recursion."""
    i = n
    while i > 1:
                i -= 1
                n *= i
                if i == 1:
                        break
                return n

出于某种原因,当我使用使用数字 5 调用此定义的辅助程序进行测试时,它只给我一个值 20。它似乎只是迭代 5 * 4 然后停止。

标签: while-loopiterationfactorial

解决方案


推荐阅读