我正在制作一个计算器(使用tkinter),我需要有一个限制,所以如果用户输入的输入超过999,就会出现一条错误信息并且不计算数字(这是一个学校项目)。当我从下面运行脚本时,在学校它只显示一个空白的GUI,在我的家用计算机上它显示'unindent与任何外部缩进级别不匹配'。我怎么解决这个问题? 谢谢 附:我使用的是Python 3.3.2
def calc(self):
try:
self.display.set(self.validate_result(eval(self.display.get())))
self.need_clr = True
except:
showerror('Operation Error', 'Illegal Operation')
self.display.set('')
self.need_clr = False
def validate_result(self, result):
if result >= 1000:
raise ValueError('result too big!')
else:
return result
答案 0 :(得分:1)
Python使用缩进来区分范围级别。
这里所有代码似乎都是完全缩进的,因此Python认为你的所有代码都在内部范围内,并试图找到包含它的外部作用域,但没有任何代码。
你应该试试这个缩进:
def calc(self):
try:
...
def calc(self):
try:
...
编辑:另外,你似乎在第二个函数中有其他缩进问题。您必须将except
与try
对齐,if result >= 1000:
之前缺少一个空格。