利用异常处理,写一个简单的计算器程序: 实现简单的加减乘除,例如1+2 能够实现循环,算完一个算式不会退出循环 输入C可以关机退出循环 异常情况:(1)除数不能为零,(2)没有按照格式输入,例如1+2
时间: 2024-09-24 21:11:35 浏览: 27
51单片机串口通信计算器-串口实现简单计算器加减乘除
当然,下面是一个简单的Python程序,利用异常处理来实现一个基础的命令行计算器,支持加、减、乘、除,并能处理除数为零和非法输入的情况:
```python
while True:
try:
user_input = input("请输入算式 (如 1 + 2 或 C 退出):")
# 检查是否输入了 'C'
if user_input.lower() == 'c':
print("感谢使用,已退出.")
break
# 分割输入,获取操作数和运算符
parts = user_input.split()
if len(parts) != 3 or not parts[0].isdigit() or not parts[2].isdigit():
raise ValueError("无效的输入格式,请确保格式为数字 + 运算符 + 数字.")
num1 = int(parts[0])
operator = parts[1]
num2 = int(parts[2])
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
# 使用try-except处理除数为零的错误
try:
result = num1 / num2
except ZeroDivisionError:
print("除数不能为零,请重新输入.")
continue
else:
raise ValueError("不支持的操作符,请输入 +, -, *, 或 /.")
print(f"结果:{result}")
except ValueError as ve:
print(str(ve))
except Exception as e:
print(f"发生了未知错误:{str(e)}")
```
在这个程序中,我们持续读取用户的输入并尝试解析成算术表达式。如果遇到不符合规则的情况,比如除数为零或者输入格式错误,我们会捕获相应的异常并给出提示,然后继续下一轮循环。用户输入'C'时,程序会结束。
阅读全文