用while循环python写factorial

问题描述 投票:1回答:5

我是新手,对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循环(没有函数)来做这个。

python loops while-loop factorial
5个回答
4
投票
while num > 1:
    factorial = factorial * num
    num = num - 1

3
投票

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

循环:

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

0
投票
number = int(input("Enter number:"))
factorial = 1
while number>0:
    factorial = factorial * number
    number = number - 1
print(factorial)

0
投票

使用标准库轻松实现:

import math

print(math.factorial(x))

-1
投票
a=int(input("enter the number : "))
result = 1
i=1
while(i <= a):
    result=i*result
    i=i+1
print("factorial of given number is ", format(result))
© www.soinside.com 2019 - 2024. All rights reserved.