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

时间:2013-06-19 23:56:15

标签: python variables if-statement python-2.7 function

我当前的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

1 个答案:

答案 0 :(得分:6)

带有两个clearscreen == "true"

=不会更改clearscreen的值。您需要在clearscreen = "true"块内写clearscreen = "false"(以及稍后if)(即不在if行本身)。