我是新手,对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循环(没有函数)来做这个。
while num > 1:
factorial = factorial * num
num = num - 1
如果你只是想得到一个结果:math.factorial(x)
循环:
def factorial(n):
num = 1
while n >= 1:
num = num * n
n = n - 1
return num
number = int(input("Enter number:"))
factorial = 1
while number>0:
factorial = factorial * number
number = number - 1
print(factorial)
使用标准库轻松实现:
import math
print(math.factorial(x))
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))