python - 如何检查语句是否为真,执行,然后重置该语句?
问题描述
我的页面上有一个直播计数器。
当代码超过 10 时,我希望它标记“恭喜!” 然后关闭
当代码低于 5 时,我希望它标记“嘘!” 然后关闭
当股票代码多次悬停在 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)
解决方案
我建议你记住以前的股票价格。基于此,您可以决定是否需要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
推荐阅读
- typescript - 如何让 Typescript 识别联合中两个相同类型的接口之间的通用共性?
- wordpress - 使用 cPanel 将 cloudflare IP 地址列入白名单
- visual-studio - Xamarin Forms Android 应用程序无一例外地退出
- python - 有理数测试得到警告 '11/12 != 11/12'
- azure-devops - 如何访问 Azure 脚本中的变量 btw Dev Ops Pipeline 中的 Powershell
- django - django - 如何在详细视图中创建表单
- sql - 我可以在 MariaDB 中撤消最后几笔交易,或者恢复到昨天吗?
- python - 为什么更新查询的第一次迭代运行很快,然后后续迭代显着减慢?
- mysql - MySQL 上 Rails 的 `schema_migrations` 的结构是什么?
- javascript - 在 reactjs 中映射时更新输入