我当前的if语句不能按照我的要求运行,它们应该在某些时候更改变量,但变量似乎没有改变......
import random
import datetime
from sched import scheduler
from time import time, sleep, strftime
s = scheduler(time, sleep)
random.seed()
def run_periodically(start, end, interval, func):
event_time = start
while event_time < end:
s.enterabs(event_time, 0, func, ())
event_time += interval + random.randrange(-5, 10)
s.run()
clearscreen = "false"
def clear():
global clearscreen
currenttime = strftime('%H:%M:%S')
print currenttime
## When currenttime is in range, it should change clearscreen from false to true, but it doesn't
if currenttime > "00:45:00" and currenttime < "00:46:00":
print "Time Range 1 Working"
if clearscreen == "false":
print "Clear screen is set to false"
clearscreen == "true"
## Same here, when currenttime is in range it should change clearscreen from true to false.
if currenttime > "00:46:00" and currenttime < "00:47:00":
print "Time Range 2 Working"
if clearscreen == "true":
print "clearscreen is set to true"
clearscreen == "false"
print "Cleared Screen"
getData()
run_periodically(time()+5, time()+1000000, 10, clear)
任何人都知道我做错了什么,也没有必要提及使用UTC时间。
由于 - Hyflex
答案 0 :(得分:6)
clearscreen == "true"
的 =
不会更改clearscreen
的值。您需要在clearscreen = "true"
块内写clearscreen = "false"
(以及稍后if
)(即不在if
行本身)。