以下是一个用于计算数字阶乘的函数的示例代码:
def factorial(n):
# 检查输入是否为非负整数
if not isinstance(n, int) or n < 0:
return "请输入非负整数"
# 处理特殊情况:0的阶乘为1
if n == 0:
return 1
# 计算阶乘
result = 1
for i in range(1, n+1):
result *= i
return result
# 测试函数
print(factorial(5)) # 输出:120
print(factorial(0)) # 输出:1
print(factorial(-2)) # 输出:请输入非负整数
该函数输入一个非负整数n,并返回n的阶乘值。函数首先检查输入是否为非负整数,如果不是则返回相应的错误提示信息。接下来,函数处理特殊情况:0的阶乘为1。然后,使用循环计算n的阶乘,并将结果返回。在示例中,我们分别计算了5的阶乘、0的阶乘以及一个负数的阶乘,并打印出了结果。