Zheng~ 2021-07-24 13:41 采纳率: 100%
浏览 45
已结题

请教python中有关异常处理的问题

try:
x=input('请输入被除数')
y=input('请输入除数')
z=float(x)/float(y)
except ZeroDivisionError:
print('除数不能为0')
except TypeError:
print('被除数和除数应为数值类型')
except NameError:
print('变量名不存在')
else:
print(x,'/',y,'=',z)

请输入被除数a
请输入除数3


ValueError Traceback (most recent call last)
in
2 x=input('请输入被除数')
3 y=input('请输入除数')
----> 4 z=float(x)/float(y)
5 except ZeroDivisionError:
6 print('除数不能为0')

ValueError: could not convert string to float: 'a'

请问,输入‘a’和3后,为什么没有执行excep TypeError语句,而是报错了?

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2021-07-24 13:58
    关注

    用ValueError,float可以接受字符型参数,如float("1.1"),有帮助麻烦点个采纳【本回答右上角】,谢谢~~

    
    try:
      x=input('请输入被除数')
      y=input('请输入除数')
      z=float(x)/float(y)
    except ZeroDivisionError:
      print('除数不能为0')
    except TypeError:
      print('被除数和除数应为数值类型')
    except ValueError:
      print('被除数和除数转换失败')
    except NameError:
      print('变量名不存在')
    else:
      print(x,'/',y,'=',z)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月24日

悬赏问题

  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要
  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改