未绑定的本地错误:在try和except语句中赋值之前引用的局部变量

时间:2017-10-03 20:56:59

标签: python

我正在尝试创建一个非常简单的菜单系统,使用所有的pythonic工具,(try和except语句,循环,if语句),我遇到了一些麻烦。

这是我目前的代码和错误消息

QAbstractItemModel::rowsInserted

菜单()

错误消息:

" Traceback(最近一次调用最后一次):   File" E:/ All / School Work / Computer Science / Code / SAM broken code.py",第12行,在菜单中     UserInput_INT = int(输入(">")) ValueError:基数为10的int()的无效文字:''

在处理上述异常期间,发生了另一个异常:

追踪(最近一次通话):   File" E:/ All / School Work / Computer Science / Code / SAM broken code.py",第39行,in     菜单()   File" E:/ All / School Work / Computer Science / Code / SAM broken code.py",第16行,在菜单中     UserInput_STR =(UserInput_INT) UnboundLocalError:局部变量' UserInput_INT'在分配之前引用"

我需要这样做,以便如果用户什么都不输入,则会显示与输入字母时不同的消息,并且如果他们输入的内容不是其中一个接受的答案。

(我目前正在运行python 3.6.2)

1 个答案:

答案 0 :(得分:0)

作为程序输入传递的值不是有效整数。现在,当引发异常时,未分配变量UserInput_INT导致第二个错误。在尝试强制转换之前,请尝试检查值是否为整数。

input = input("> ")
UserInput_INT = int(input) if input.isdigit() else input

作为旁注,请尝试遵循命名惯例。