Unindent错误和输入数量限制

时间:2014-06-24 18:32:55

标签: python python-3.3

我正在制作一个计算器(使用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

1 个答案:

答案 0 :(得分:1)

Python使用缩进来区分范围级别。

这里所有代码似乎都是完全缩进的,因此Python认为你的所有代码都在内部范围内,并试图找到包含它的外部作用域,但没有任何代码。

你应该试试这个缩进:

def calc(self):
    try:
        ...

def calc(self):
    try:
        ...

编辑:另外,你似乎在第二个函数中有其他缩进问题。您必须将excepttry对齐,if result >= 1000:之前缺少一个空格。