首页 > 编程知识 正文

Python 程序:计算一个数的阶乘

时间:2023-11-24 15:33:38 阅读:308828 作者:UTII

编写一个 Python 程序,使用 For 循环、While 循环、函数和递归来查找一个数的阶乘。Python 阶乘用符号(!).数字的 Python 阶乘是小于或等于该数字的所有数字的乘积&大于 0。n!= n (n-1) (n -2) ……。 1.

用数学函数求一个数的阶乘的 Python 程序

在这个 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

用 For 循环求一个数的阶乘的 Python 程序

这个用于数字阶乘的 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 循环查找一个数的阶乘

在这个 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

用函数求一个数的阶乘的 Python 程序

这个程序和第一个例子一样。然而,我们使用函数 来分离逻辑

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 程序将用户输入的值传递给函数。在这个函数中,这个 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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。