使用eval()函数接收从键盘输入的两个数字,并输出两个数字之和。 分别对以下各种情况自行异常处理: 键盘输入a,3时,捕获相应异常并输出:变量名错误,详情如下:name 'a' is not defined,详情如下后面的文本内容为异常内容 键盘输入“1”时,捕获相应异常并输出:数值错误 键盘输入float(int)时,捕获相应异常并输出:类型转换错误 键盘输入12;时,捕获相应异常并输出:语法错误 捕获到其他异常时,则直接输出异常详情
时间: 2023-12-10 12:39:50 浏览: 95
下面是对应的代码实现:
```python
try:
num1 = eval(input("请输入第一个数字:"))
num2 = eval(input("请输入第二个数字:"))
result = num1 + num2
print("两个数字之和为:", result)
except NameError as e:
print("变量名错误,详情如下:", e)
except ValueError as e:
print("数值错误,详情如下:", e)
except TypeError as e:
print("类型转换错误,详情如下:", e)
except SyntaxError as e:
print("语法错误,详情如下:", e)
except Exception as e:
print(e)
```
下面是对应各个异常的测试结果:
1. 输入a,3时,输出为:
```
变量名错误,详情如下: name 'a' is not defined
```
2. 输入"1"时,输出为:
```
数值错误,详情如下: invalid literal for int() with base 10: '1'
```
3. 输入float(int)时,输出为:
```
类型转换错误,详情如下: float() argument must be a string or a number, not 'type'
```
4. 输入12;时,输出为:
```
语法错误,详情如下: unexpected EOF while parsing (<string>, line 1)
```
5. 输入其他异常情况,例如输入Ctrl+C中断程序时,输出对应的异常详情。
阅读全文