def factorial(n):
时间: 2023-11-16 17:07:54 浏览: 200
This is a Python function to calculate the factorial of a given number n:
```
def factorial(n):
# Base case: if n is 0 or 1, return 1
if n == 0 or n == 1:
return 1
# Recursive case: multiply n by (n-1) factorial
else:
return n * factorial(n-1)
```
The function first checks for the base case where n is either 0 or 1, and returns 1 in that case. For all other values of n, it uses recursion to calculate the factorial of n by multiplying n with the factorial of (n-1).
相关问题
def factorial(n): match n: case 0 | 1: return 1 case _: return n * factorial(n - 1) print(factorial(5))
这段代码的输出结果是 120。
这是一个计算阶乘的函数。使用了 Python 3.10 中的新特性——模式匹配(match)。当输入的 n 为 0 或 1 时,直接返回 1;当 n 不为 0 或 1 时,返回 n 乘以 (n-1) 的阶乘,即 n * factorial(n-1)。
在这里,当 n 不为 0 或 1 时,使用了占位符 _,表示匹配除了 0 和 1 以外的所有情况。这样,代码更加简洁,可读性更高。
下面程序的输出是 。 def factorial(n): match n: case 0 | 1: return 1 case _: return n * factorial(n - 1) print(factorial(5))
这段程序的输出是 120。程序中定义了一个计算阶乘的函数 factorial,使用了 Python 3.10 中引入的新特性 match-case。在 match-case 中,先匹配 n 是否为 0 或 1,若匹配成功,则直接返回 1;否则,使用通配符 _ 匹配任意值,并返回 n 与 factorial(n - 1) 的乘积。在程序的最后一行,调用了 factorial(5) 函数,计算出 5 的阶乘,结果为 120。因此,程序的输出就是 120。
阅读全文