【问题标题】:Write factorial with while loop python用while循环python编写阶乘
【发布时间】:2016-05-29 18:47:33
【问题描述】:

我是新手,对 Python 了解不多。有人知道如何在 while 循环中编写阶乘吗?

我可以在 if / elif else 语句中实现:

num = ...
factorial = 1

if num < 0:
   print("must be positive")
elif num == 0:
   print("factorial = 1")
else:
   for i in range(1,num + 1):
       factorial = factorial*i
   print(num, factorial)

但我想用一个while循环来做这个(没有功能)。

【问题讨论】:

  • for 循环可以重写为while 循环。在循环之前设置i 的初始值;使用while 条件检测i 何时达到其限制;在循环内增加i

标签: python loops while-loop factorial


【解决方案1】:
while num > 1:
    factorial = factorial * num
    num = num - 1

【讨论】:

    【解决方案2】:

    如果你只是想得到一个结果:math.factorial(x)

    While循环:

    def factorial(n):
        num = 1
        while n >= 1:
            num = num * n
            n = n - 1
        return num
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-07
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多