Python &引用;UnboundLocalError:局部变量';TimerOnOff&x27;作业前参考“;

Python &引用;UnboundLocalError:局部变量';TimerOnOff&x27;作业前参考“;,python,Python,有人能帮我解决这个问题吗?当我运行这个程序时,我得到一个错误“UnboundLocalError:local变量'TimerOnOff'在赋值之前被引用” 如果要在函数中使用全局变量,如TimerOnOff或Timer,则需要添加一条语句来指定在局部范围中使用全局变量。所以你需要加上 global TimerOnOff global Timer 在你的功能体中。全面实施将是: import time TimerOnOff = 0 Timer = 7.5 class Timeout():

有人能帮我解决这个问题吗?当我运行这个程序时,我得到一个错误“UnboundLocalError:local变量'TimerOnOff'在赋值之前被引用”


如果要在函数中使用全局变量,如
TimerOnOff
Timer
,则需要添加一条语句来指定在局部范围中使用全局变量。所以你需要加上

global TimerOnOff
global Timer
在你的功能体中。全面实施将是:

import time
TimerOnOff = 0
Timer = 7.5
class Timeout():
    def start():
        global TimerOnOff
        global Timer
        Timer = 7.5
        if TimerOnOff == 1:
            for T in range(0, 75):
                Timer - 0.1
                time.sleep(0.1)
                print(Timer)
            TimerOnOff = 0

TimerOnOff = 1
Timeout.start()

请特别注意这个答案:作为旁注,我不认为
Timer-0.1
做了你想要的(什么都没有)。可能需要
Timer-=1
Timer=Timer-1
import time
TimerOnOff = 0
Timer = 7.5
class Timeout():
    def start():
        global TimerOnOff
        global Timer
        Timer = 7.5
        if TimerOnOff == 1:
            for T in range(0, 75):
                Timer - 0.1
                time.sleep(0.1)
                print(Timer)
            TimerOnOff = 0

TimerOnOff = 1
Timeout.start()