鱼C论坛

 找回密码
 立即注册
查看: 3058|回复: 6

一段代码的报错提示

[复制链接]
发表于 2017-12-18 17:16:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 caithreecows 于 2017-12-18 18:13 编辑

环境:windows10,Python3.6

代码:
uh = input('Enter hours:')
try:
    if float(uh) > 0:
        hour = float(uh)
except:
    print('Error1, please enter numeric input.')
    quit()

ur = input('Enter rate:')
try:
    if float(ur) > 0:
        rate = float(ur)
except:
    print("Error2, please enter numeric input.")
    quit()

pay = hour * rate
print(pay)


该代码在输入数字和字符串的时候都能够正常运行,但是如果输入0或者负数,则不会出现错误提示,而是出现如下报错,请问下各位究竟是哪里出问题了?

报错提示:
微信图片_20171218164358.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-18 17:28:24 | 显示全部楼层
因为你的 if 判断就要求必须是正数才对 hour 和 rate 进行赋值啊
你输入了负数或者0,那么不会执行if里面的语句
当然就没有对 hour 和 rate 进行赋值了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-18 17:49:54 | 显示全部楼层
BngThea 发表于 2017-12-18 17:28
因为你的 if 判断就要求必须是正数才对 hour 和 rate 进行赋值啊
你输入了负数或者0,那么不会执行if里面 ...

感谢回复。但是我理解在不执行if语句的情况下,就应该执行except里的语句,从而输出enter numeric input的提示呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-18 17:59:37 | 显示全部楼层
caithreecows 发表于 2017-12-18 17:49
感谢回复。但是我理解在不执行if语句的情况下,就应该执行except里的语句,从而输出enter numeric input ...

不是这样的,只有不执行try的时候,才会执行except。 程序里运行虽然没有执行if,但是它执行了 try,所以不会去执行except语句的,所以没有输出,会报错。你看缩进都知道 try 和  except是一级的,执行一个另一个就不会执行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-18 18:13:42 | 显示全部楼层
°蓝鲤歌蓝 发表于 2017-12-18 17:59
不是这样的,只有不执行try的时候,才会执行except。 程序里运行虽然没有执行if,但是它执行了 try,所以 ...

明白了,非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-18 18:14:53 | 显示全部楼层
caithreecows 发表于 2017-12-18 18:13
明白了,非常感谢!

不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-18 21:22:38 From FishC Mobile | 显示全部楼层
caithreecows 发表于 2017-12-18 17:49
感谢回复。但是我理解在不执行if语句的情况下,就应该执行except里的语句,从而输出enter numeric input ...

只有异常才引发except语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 12:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表