编写一个 Python示例,使用 For 循环、While 循环、函数和递归来查找一个数的阶乘。Python 阶乘用符号(!).数字的 Python 阶乘是小于或等于该数字的所有数字的乘积&大于 0。n!= n (n-1) (n -2) ……。 1.
在这个 Python 数字阶乘程序中,我们使用了内置的数学函数,称为阶乘。
import math
number = int(input(" Please enter any Number : "))
fact = math.factorial(number)
print("The fact of %d = %d" %(number, fact))
Python 数学阶乘函数输出
Please enter any Number : 5
The fact of 4 = 120
这个用于数字阶乘的 python 程序允许用户输入任何整数值。使用此值,它使用 For 循环查找一个数的因数。
number = int(input(" Please enter any Number to find factorial : "))
fact = 1
for i in range(1, number + 1):
fact = fact * i
print("The factorial of %d = %d" %(number, fact))
用户在上述 python 程序中输入的整数示例为 4。请参考数学函数、阶乘、 For Loop 、 While Loop 、Python 中的函数。
Python 阶乘程序第一次迭代 i = 1,Fact = 1,number = 5
事实=事实 I; 事实= 1 1 = 1
第二次迭代 i = 2,Fact = 1,Number = 5 Fact = 1 * 2 = 2
第三次迭代 i = 3,事实= 2,数= 5 事实= 2 * 3 = 6
第四次迭代 i = 4,事实= 6,数= 5 事实= 6 * 4 = 24
接下来,我变成了 5。因此,对于循环终止。
在这个 python 阶乘程序中,我们刚刚用 While 循环替换了 for 循环
number = int(input(" Please enter any Number to find factorial : "))
fact = 1
i = 1
while(i <= number):
fact = fact * i
i = i + 1
print("The factorial of %d = %d" %(number, fact))
Please enter any Number to find factorial : 8
The factorial of 8 = 40320
产出 2
Please enter any Number to find factorial : 9
The factorial of 9 = 362880
这个程序和第一个例子一样。然而,我们使用函数 来分离逻辑
def factorial(num):
fact = 1
for i in range(1, num + 1):
fact = fact * i
return fact
number = int(input(" Please enter any Number to find factorial : "))
facto = factorial(number)
print("The factorial of %d = %d" %(number, facto))
Please enter any Number to find factorial : 5
The factorial of 5 = 120
产出 2
Please enter any Number to find factorial : 6
The factorial of 7 = 720
这个 Python示例将用户输入的值传递给函数。在这个函数中,这个 Python示例递归地找到一个数的阶乘。
def factFind(num):
if((num == 0) or (num == 1)):
return 1
else:
return num * factFind(num - 1)
number = int(input(" Please enter any Num : "))
fact = factFind(number)
print("The fact of %d = %d" %(number, fact))
Please enter any Num : 6
The fact of 6 = 720
输出 2
Please enter any Num : 4
The fact of 4 = 24
在这个 python 阶乘程序的用户定义函数中, If Else 语句检查数字是等于 0 还是等于 1。如果条件为真,则函数返回 1。如果条件为假,函数递归返回 Num * (Num -1)。
用户输入值= 6。
fac = num fact find(num-1); = 6 事实查找(5) = 6 5 事实查找(4) = 6 5 4 事实查找(3) = 6 5 4 3 事实查找(2) = 6 5 4 3 2 事实查找(1) = 6 5 4 3 2
标签: 域名备案