def factorial(n): match n: case 0 | 1: return 1 case _: return n * factorial(n - 1) print(factorial(5))
时间: 2024-02-14 12:33:08 浏览: 196
factorial-ln:计算大数的 log(n!)
这段代码定义了一个名为factorial的函数,使用了Python 3.10中的模式匹配语法来计算给定数的阶乘。函数接受一个整数n作为参数。
在函数内部,使用match语句对n进行匹配。如果n为0或1,则直接返回1。如果不是0或1,则返回n乘以(n-1)的阶乘,即递归调用自身计算(n-1)的阶乘,并将结果乘以n。
最后,调用了factorial函数计算5的阶乘,并打印出结果。因为5的阶乘等于5×4×3×2×1=120,所以代码输出的结果为120。
需要注意的是,这种模式匹配语法只在Python 3.10及以上版本中才能使用。在低于该版本的Python中,需要使用if-elif-else语句或其他方式实现相同的功能。
阅读全文