def factorial(n): match n: case 0 | 1: return 1 case _: return n * factorial(n - 1) print(factorial(5))
时间: 2024-02-14 15:05:55 浏览: 24
这段代码是用 Python 语言实现的一个计算阶乘的函数。函数名为 factorial,接收一个整数参数 n,并返回 n 的阶乘结果。
在函数内部,使用了 Python 3.10 中新增的 match 表达式对 n 进行了模式匹配,当 n 的值为 0 或 1 时,直接返回 1;当 n 的值为其它任意整数时,递归调用 factorial 函数,计算 n-1 的阶乘,再乘以 n,最终得到 n 的阶乘。
在这个例子中,输入的参数 n 为 5,函数返回的结果为 120,即 5 的阶乘。
相关问题
下面程序的输出是 。 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。
阅读全文