|  | 
 
| 
try:
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  ​a = int(input("please input a number:"))
 ​r = 10 / a
 ​print('result:', r)
 except ZeroDivisionError:
 print("ZeroDivisionError: division by zero")
 except ValueError:
 print("ValueError: invalid literal for int() with base 10:",a)
 
 以上是我写的代码,遇到被零除异常,可以返回输入的
 但是遇到值异常就会报错,请问如何解决,并输出我想输出的
 
 
 本帖最后由 tommyyu 于 2022-11-24 10:00 编辑 
由于在输入非整数时,int(input())将会报错,此时 a 就无法被赋值,而 except ValueError 中又有打印 a 的语句,此时会因为 a 没有被定义而报错。可以这样改 复制代码try:
    a = input("please input a number:")
    r = 10 / int(a)
    print('result:', r)
except ZeroDivisionError:
    print("ZeroDivisionError: division by zero")
except ValueError:
    print("ValueError: invalid literal for int() with base 10:",a)
    
please input a number:a
ValueError: invalid literal for int() with base 10: a
 | 
 |