pyt hon计算n的阶乘判断
时间: 2024-03-15 12:43:55 浏览: 21
可以使用递归或循环来计算n的阶乘,并且判断n是否为非负整数。以下是使用循环计算n的阶乘并判断n是否合法的代码示例:
```python
n = int(input("请输入一个非负整数:"))
if n < 0:
print("输入的数不合法!")
else:
factorial = 1
for i in range(1, n+1):
factorial *= i
print("{}的阶乘是{}".format(n, factorial))
```
如果想使用递归来计算n的阶乘,可以这样写:
```python
def factorial(n):
if n < 0:
return None
elif n == 0:
return 1
else:
return n * factorial(n-1)
n = int(input("请输入一个非负整数:"))
result = factorial(n)
if result == None:
print("输入的数不合法!")
else:
print("{}的阶乘是{}".format(n, result))
```
需要注意的是,递归的方式虽然简洁,但当n较大时可能导致栈溢出,因此在实际使用中应谨慎。