Python 2.7,If语句被忽略而未被设置/更改

Ryf*_*lex 0 python variables if-statement function python-2.7

我当前的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)
Run Code Online (Sandbox Code Playgroud)

任何人都知道我做错了什么,也没有必要提及使用UTC时间.

谢谢 - Hyflex

jwo*_*der 6

clearscreen == "true"用两个=s不改变值clearscreen.您需要在块内clearscreen = "true"(以及不在线本身上)写入(以及稍后clearscreen = "false").ifif