📅  最后修改于: 2023-12-03 15:34:21.853000             🧑  作者: Mango
在编程中,经常需要求一个数的阶乘。阶乘是从1到该数的连乘积,例如5的阶乘是1x2x3x4x5=120。
我们可以使用while循环来计算一个数的阶乘。
# 定义一个函数来计算阶乘
def factorial(n):
result = 1
while n > 1:
result *= n
n -= 1
return result
# 调用函数来计算5的阶乘
print(factorial(5))
上述代码定义了一个函数factorial
,它接收一个参数n
,表示要计算阶乘的数。
在函数内部,我们定义了一个变量result
并将其初始化为1(因为任何数的阶乘乘积的初始值为1)。然后我们使用while
循环来迭代从n
到1的所有数字。在循环中,我们将result
乘以当前的迭代数字,然后将n
减1。循环继续执行直到n
变成1为止。
最后,函数返回结果。我们可以使用print
语句来显示计算出的阶乘值。
运行上述代码,输出结果为:
120
注意,如果调用factorial
函数时传入的是0或负数,将会导致它进入无限循环。因此,我们应该在函数开头添加一条条件语句,检查输入的数字是否大于等于1。
有关while循环和函数的更多信息,请参阅Python官方文档。