输入一个数,判断是否为正整数,若是正整数,输出它的阶乘。若不是,返回error。
时间: 2024-10-28 09:06:20 浏览: 16
python递归函数求n的阶乘,优缺点及递归次数设置方式
当你输入一个数字,首先需要检查它是否为正整数。你可以通过条件语句如if-else来实现这个功能。以下是一个简单的Python示例:
```python
def factorial(n):
# 检查n是否为正整数
if not isinstance(n, int) or n <= 0:
return "error"
elif n == 0:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
# 示例
number = input("请输入一个数字:")
try:
number = int(number)
print(factorial(number))
except ValueError:
print("error")
```
在这个函数中,我们先检查输入是否为正整数。如果是0,直接返回1,因为0的阶乘定义为1。对于其他正整数,我们计算其阶乘并返回结果。如果输入无法转换为整数或小于等于0,我们会捕获`ValueError`异常并打印"error"。
阅读全文