编写程序,输入人数n,输出每人平均分得多少元钱(假设有100元钱,结果保留2位小数)。如果发生ZeroDivisionError错误,则输出Error0;如果发生ValueError,则输出Error1,其他错误输出Error2。最后无论是否发生异常,都输出over。 要求:用try语句处理各种异常。
时间: 2024-02-21 22:59:45 浏览: 51
使用异常处理机制和输入/输出处理机制编写一个程序
4星 · 用户满意度95%
好的,下面是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`语句来处理可能发生的异常。
然后,我们输入人数`n`,如果输入的是0,则抛出`ZeroDivisionError`异常。
接下来,我们计算每人平均分得的钱数`money`,并使用`print`函数输出结果。
如果发生`ZeroDivisionError`,则执行`except ZeroDivisionError`语句块,输出`Error0`。
如果发生`ValueError`,则执行`except ValueError`语句块,输出`Error1`。
如果发生其他异常,则执行`except`语句块,输出`Error2`。
最后,无论是否发生异常,都会执行`finally`语句块,输出`over`。
希望这段代码能够解决你的问题!
阅读全文