如何在Python捕获ValueError后终止后续输入语句执行?
解决方案
把需要在正常流程下执行的后续输入语句全部放到try代码块内部,这样当pergunta_AS2的输入触发ValueError时,程序会直接跳转到except分支,不会执行try块里剩余的代码。
修正后的代码如下:
try: pergunta_AS2 = float(input("Quak nota você tirou na AS2")) # 把后续输入语句移到try块内 pergunta_simulado = float(input("Qual foi a sua nota no simulado de ALL:")) pergunta_trimestral = float(input("Qual foi a sua nota na trimestral de ALL")) pergunta_MTN = float(input("Qual foi a sua terceira nota (MTN) de ALL:")) except ValueError: # 可按需添加异常触发时的提示或处理逻辑,比如: print("输入格式错误,请输入有效的数字。")
说明
原代码里的后续三个输入语句不在try块范围内,所以哪怕pergunta_AS2的输入出错,程序还是会执行这些语句。将它们移入try块后,只要try块内任意一行代码触发异常,后续代码都会被跳过,直接执行except里的逻辑。
内容的提问来源于stack exchange,提问作者campoix
相关产品推荐
相关产品推荐

