n个人分配100元,用户输入由n不同取值构成的列表,输出各种情况每人所分数额(分行输出,保留两位小数)。如果发生Zero Division Error则输出can’t be 0;其他错误输出Error。列表元素处理完毕后输出over。要求用try语句处理
时间: 2023-11-22 16:52:42 浏览: 31
以下是使用 try 语句处理输入列表元素的 Python 代码:
```python
try:
n = int(input("请输入人数:"))
nums = input("请输入由n个不同取值构成的列表,以空格分隔:").split()
nums = [int(num) for num in nums]
total = sum(nums)
if total == 0:
raise ZeroDivisionError("can't be 0")
for i in range(n):
print("第{}个人分得:{:.2f}".format(i+1, nums[i]/total*100))
except ZeroDivisionError as e:
print(e)
except Exception:
print("Error")
finally:
print("over")
```
在上面的代码中,我们首先使用 `try` 语句包裹了整个程序,这样可以捕获所有可能发生的错误。在 `try` 代码块中,我们先输入人数 `n` 和列表元素 `nums`,并将 `nums` 转换为整数类型的列表。然后计算总分数 `total`,如果 `total` 等于 0,则抛出 `ZeroDivisionError` 异常,表示不能除以 0。接下来使用循环输出每个人分得的分数。
在 `try` 代码块中,我们还添加了两个 `except` 语句,用于处理可能发生的异常。如果捕获到 `ZeroDivisionError` 异常,则输出错误信息;否则如果捕获到其他异常,则输出 "Error"。最后,我们使用 `finally` 代码块输出 "over",表示程序执行完毕。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)