def factorial(n): match n: case 0 | 1: return 1 case _: return n * factorial(n - 1) print(factorial(5))
时间: 2024-02-14 09:22:06 浏览: 83
factorial-ln:计算大数的 log(n!)
这段代码的输出结果是 120。
这是一个计算阶乘的函数。使用了 Python 3.10 中的新特性——模式匹配(match)。当输入的 n 为 0 或 1 时,直接返回 1;当 n 不为 0 或 1 时,返回 n 乘以 (n-1) 的阶乘,即 n * factorial(n-1)。
在这里,当 n 不为 0 或 1 时,使用了占位符 _,表示匹配除了 0 和 1 以外的所有情况。这样,代码更加简洁,可读性更高。
阅读全文