这道题的要求是编写python代码从键盘输入两个数,然后进行相除,显示商和余数。当输入的字符串中含有非数字时或除数为0时,通过异常处理机制,使程序能正确运行。
时间: 2024-02-06 16:12:12 浏览: 78
在Python中获取两数相除的商和余数方法
好的,以下是一个Python的示例代码,实现了从键盘输入两个数,进行相除,显示商和余数的功能,并通过异常处理机制,使程序能够正确运行:
```python
while True:
try:
dividend = int(input("请输入被除数:"))
divisor = int(input("请输入除数:"))
if divisor == 0:
raise ZeroDivisionError("除数不能为0")
quotient = dividend // divisor
remainder = dividend % divisor
print("商:", quotient)
print("余数:", remainder)
break
except ValueError:
print("输入的字符串中含有非数字")
except ZeroDivisionError as e:
print(e)
```
该程序采用了一个无限循环,直到输入正确的被除数和除数才会跳出循环。在循环中,使用try-except语句来处理异常。如果输入字符串中含有非数字,则会捕获ValueError异常,并输出错误信息;如果除数为0,则会捕获ZeroDivisionError异常,并输出错误信息。如果输入的被除数和除数都是合法的,则进行除法运算,并输出商和余数。
阅读全文