python函数阶乘
时间: 2023-11-30 07:01:57 浏览: 73
Python中可以使用循环或者递归的方式来实现阶乘函数。下面是两种实现方式:
1.循环实现阶乘函数:
def factorial(num):
if num < 0:
return "阶乘未定义负数"
elif num == 0:
return 1
else:
result = 1
for i in range(1, num+1):
result *= i
return result
print(factorial(5)) # 输出120
2.递归实现阶乘函数:
def factorial(num):
if num < 0:
return "阶乘未定义负数"
elif num == 0:
return 1
else:
return num * factorial(num-1)
print(factorial(5)) # 输出120
相关问题
Python递归函数阶乘
好的,以下是Python实现递归函数求阶乘的代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
这个函数接受一个正整数n作为参数,如果n等于0,则返回1,否则返回n乘以n-1的阶乘(即调用自身并传入n-1作为参数)。这个过程一直递归下去,直到n等于0时返回1,结束递归。
python编写阶乘函数
在Python中编写阶乘函数是相对简单的。阶乘函数通常用数学符号"!"表示,定义为一个正整数n的所有小于等于n的正整数的乘积。例如,5的阶乘(记作5!)等于5×4×3×2×1=120。
下面是一个用Python编写的阶乘函数的示例:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 示例调用
print(factorial(5)) # 输出: 120
```
这个阶乘函数使用了递归的方法,递归是一种常见的编程技术,它允许函数调用自身。在上面的代码中,如果`n`是0或1,函数直接返回1,因为0!和1!都是1。否则,函数会递归地调用自身计算`n-1`的阶乘,并将其结果乘以`n`。
当然,也可以使用循环来实现阶乘函数,这种方法不需要递归,可能会更适合初学者理解:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
# 示例调用
print(factorial(5)) # 输出: 120
```
在这个版本中,函数通过一个`for`循环从1迭代到`n`,每次迭代将`result`与当前的`i`相乘,最终返回结果。
阅读全文