该教程讲解如何定义一个函数,接收单个整数参数n,计算并返回包含0!到n!的完整阶乘列表,同时修正原始代码中的语法错误、逻辑偏差(如遗漏0!)和命名规范问题。
要实现 RangeFactorial(10) 这样的调用方式,并返回 [0!, 1!, 2!, ..., 10!] 的列表,需明确两点:
以下是完整、可运行的实现

def factorial(n):
"""计算非负整数 n 的阶乘"""
if n < 0:
raise ValueError("阶乘未定义于负数")
result = 1
for x in range(1, n + 1): # 当 n==0 时,range(1, 1) 为空,循环不执行,result 保持为 1
result *= x
return result
def range_factorial(n):
"""返回从 0! 到 n! 的阶乘值列表(长度为 n+1)"""
return [factorial(i) for i in range(n + 1)] # 使用列表推导式,简洁高效
# 示例调用
print(range_factorial(5))
# 输出: [1, 1, 2, 6, 24, 120] ← 对应 0!, 1!, 2!, 3!, 4!, 5!
print(range_factorial(10))
# 输出包含 11 个元素的列表,首项为 1(0!),末项为 3628800(10!)✅ 关键改进说明:
⚠️ 注意事项: