编写程序,输入人数n,输出每人应该平均分得多少钱(假设有100元钱,结果保留2位小数)。如果发生ZeroDivisionError错误,则输出Error0;如果发生ValueError,则输出Error1,其他错误输出Error2。无论最后是否发生异常,都输出over。要求:用try语句处理各种异常。
时间: 2024-02-16 17:03:03 浏览: 65
Halloween_TheNeighbours_POJ3370_
好的,以下是 Python 代码实现:
```python
try:
n = int(input("请输入人数:"))
if n == 0:
raise ZeroDivisionError
money = 100/n
print("每人平均分得 {:.2f} 元".format(money))
except ZeroDivisionError:
print("Error0")
except ValueError:
print("Error1")
except:
print("Error2")
finally:
print("over")
```
代码中,我们用 `try` 语句包含了可能出现异常的代码块,然后使用 `except` 捕获不同类型的异常,并给出相应的处理方式。最后使用 `finally` 输出 "over",无论最后是否有异常。如果输入的人数为 0,会抛出 `ZeroDivisionError` 异常;如果输入的不是整数,会抛出 `ValueError` 异常;其他异常会被 `except` 块中的 `except` 捕获。如果没有异常,会输出每人平均分得的钱数,保留两位小数。
阅读全文