编写程序,输入人数n,输出每人应该平均分得多少钱(假设有100元钱,结果保留2位小数)。如果发生ZeroDivisionError错误,则输出Error0;如果发生ValueError,则输出Error1,其他错误输出Error2。无论最后是否发生异常,都输出over。要求:用try语句处理各种异常。
时间: 2024-02-16 17:03:03 浏览: 23
好的,以下是 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` 捕获。如果没有异常,会输出每人平均分得的钱数,保留两位小数。
相关问题
编写Python 程序,输入人数n,输出每人平均分得多少元钱(假设有100元钱,结果保留2位小数)。如果发生异常,则输出InputError
好的,下面是代码实现:
```python
try:
n = int(input("请输入人数:"))
if n <= 0:
raise ValueError
avg = 100 / n
print("每人平均分得%.2f元钱" % avg)
except ValueError:
print("InputError")
```
程序会先尝试将输入的人数转换成整数,如果输入的是非整数或者小于等于0的数,会抛出`ValueError`异常。如果没有发生异常,就计算出每人平均分得的钱数,并且使用字符串格式化输出结果,保留2位小数。如果发生异常,就直接输出`InputError`。
编写程序,输入人数n,输出每人平均分得多少元钱(假设有100元钱,结果保留2位小数)。如果发生异常,则输出InputError。要求:用try语句处理异常。
好的,以下是 Python 代码实现:
```python
try:
n = int(input("请输入人数:"))
if n <= 0:
raise ValueError
avg = round(100 / n, 2)
print("每人平均分得:{:.2f}元".format(avg))
except ValueError:
print("InputError")
```
首先,我们使用 `try` 语句来尝试获取输入的人数,并进行类型转换。如果输入的是非整数或者小于等于0的数,则会抛出 `ValueError` 异常。
然后,我们使用 `round()` 函数对每人分得的金额进行四舍五入,保留2位小数,并输出结果。
如果在输入人数时发生异常,则会捕获 `ValueError` 异常,并输出 "InputError"。