首页 > 解决方案 > 如何检查语句是否为真,执行,然后重置该语句?

问题描述

我的页面上有一个直播计数器。

  1. 当代码超过 10 时,我希望它标记“恭喜!” 然后关闭

  2. 当代码低于 5 时,我希望它标记“嘘!” 然后关闭

  3. 当股票代码多次悬停在 10 或低于 5 时必须工作。ie 它会在整个游戏中上下波动

试图降低基本代码,但我正在经历一系列 if/else 语句,过去的尝试没有奏效。例如,以下仅适用一次。然后当代码再次达到10时,它不会提示“恭喜”

while True:

    timerx += 1
    if (timerx >= 5):
        if flag == True:
            flag = False
            print("Congrats!")
        else:
            flag = True
    else:
        flag = True
    time.sleep(1)

标签: python

解决方案


我建议你记住以前的股票价格。基于此,您可以决定是否需要Boo!Congrats!. 我通过以下方式实现了这个逻辑class

class Ticker(object):
    def __init__(self):

        self.previous = None

    def tick(self, tick):

        if tick < 5 and (self.previous is None or self.previous >= 5):
            print('Boo!')
        elif tick > 10 and (self.previous is None or self.previous <= 10):
            print('Congrats!')

        self.previous = tick

ticker = Ticker()
while True:
    for i in range(15):
        print(i)
        ticker.tick(i)

样本输出:

0
Boo!
1
2
3
4
5
6
7
8
9
10
11
Congrats!
12
13
14
0
Boo!
1
2
3
4
5
6
7
8
9
10
11
Congrats!
12
13
14

推荐阅读