从键盘输入5个数,求出5个数的阶乘之和。若输入负数时,产生异常并进行相应的处理
时间: 2024-10-23 21:12:51 浏览: 48
python 输入一个数n,求n个数求乘或求和的实例
5星 · 资源好评率100%
在编程中,你可以通过循环结构来实现这个功能。这里是一个简单的Python示例,用于接收用户输入的5个数字,并计算它们的阶乘之和。如果输入的是负数,程序会捕获`ValueError`异常:
```python
def factorial(n):
if n < 0:
raise ValueError("输入值不能为负数")
elif n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
try:
numbers = []
for i in range(5):
num = int(input(f"请输入第{i + 1}个数字:"))
numbers.append(num)
result = sum(factorial(num) for num in numbers)
print("5个数的阶乘之和为:", result)
except ValueError as e:
print(e)
```
在这个代码中,我们首先定义了一个递归函数`factorial`来计算阶乘。然后在`try`块中,用户输入五个整数并添加到列表中。接着,我们用列表推导式计算所有数字的阶乘之和。如果遇到负数,`int()`函数会抛出`ValueError`异常,我们会在`except`块中捕获它并打印错误信息。
阅读全文