分配前参考

时间:2017-02-21 23:04:12

标签: python reference

我遇到了一个错误,我已经尝试了一段时间了。

        if outerball.pos.x >= (self.r - 0.1):
            if self.rotations == 0:
                stopt = time.time ( )
                onerot = stopt - startt
                print(onerot)
            self.rotations += 1

        # update variable outputs
        timey.text = "time: %1.f" % onerot + " seconds"

错误为timey.text = "time: %1.f" % onerot + " seconds" UnboundLocalError: local variable 'onerot' referenced before assignment

我试过全局化变量,但它仍然没有产生影响。 有人可以解释我如何解决这个问题。

由于

1 个答案:

答案 0 :(得分:1)

在您的情况下onerot仅在满足嵌套if条件时才被赋值,您需要为其指定默认值

onerot = 0  # ---> assign a value to onerot here
if ....:
    if ...:
      //your code
timey.text = "time: %1.f" % onerot + " seconds"