题目内容: 编写程序完成以下要求:从键盘输入两个数,进行相除,显示商和余数。当输入串中含有非数字时或除数为0时,通过异常处理机制,使程序能正确运行。 输入格式: 输入两个数字,用英文逗号分隔,不需要给出提示性输出,即input()函数不要有任何参数 输出格式: 输出表示这两个数字的除法算式,结果包含商和余数 输入样例1: 36,5 输出样例1: 36/5=7 remainder 1
时间: 2024-02-15 21:05:25 浏览: 61
c++程序 源代码.docx
以下是 Python3 的代码实现:
```python
try:
x, y = input().split(',')
x, y = int(x), int(y)
if y == 0:
raise ZeroDivisionError
quotient = x // y
remainder = x % y
print(f"{x}/{y}={quotient} remainder {remainder}")
except ValueError:
print("Invalid input, please enter two integers separated by a comma.")
except ZeroDivisionError:
print("Division by zero is not allowed.")
```
解释:
1. 使用 `input()` 函数获取用户输入的两个数字,用逗号分隔。
2. 使用 `split()` 函数将字符串分割成两个子字符串,并将它们转换为整数类型。
3. 如果除数为0,使用 `raise` 关键字手动抛出一个 `ZeroDivisionError` 异常。
4. 计算商和余数。
5. 使用 `print()` 函数输出算式和结果。
6. 使用 `try` 和 `except` 关键字捕获可能发生的异常,并给出相应的错误提示。
阅读全文