python - Python中的超时
问题描述
我目前正在使用树莓派编写可以被描述为带有 LED 的一维乒乓球游戏。我正在尝试使用 gpiozero 库来完成此任务。我想要的是实现一些东西,一旦 LED 亮起,我就会启动一个计时器,如果在所述计时器之前没有按下按钮,它就会从循环中中断。
我想做一些类似的事情:
while True:
led.on()
if button.value != 1 (in t seconds):
break
led.off()
但我不知道如何实现(在 t 秒内)。重要的是我可以控制超时发生的事情,因为我计划让它调用一个确定获胜者的函数。
解决方案:我想有一种方法可以检测 LED 是否亮起,所以我就这样做了
while led.value == 1:
if button.press == 1:
press = 1
if press ==1:
continue
else:
break
解决方案
你可以time.time()
这样使用:
import time
start = time.time()
tseconds = 2
while True:
print("led.on")
now = time.time()
# if button.value != 1.. your conditions
if not now - start > tseconds:
print(now - start)
else:
break
print("lead.off")
推荐阅读
- python - NMI 和 AMI 分数之间的差异
- google-apps-script - 从 Google 表格脚本到日历的粗体描述文本
- types - 是否可以为协议缓冲区中的字段定义数字范围?
- java - 是否有一种算法可以围绕 ArrayList 循环迭代?
- javafx - JDK 13 升级问题
- java - 使用自定义标准对 java 8 上的对象列表进行排序
- apache-spark - Pyspark UDF - 复杂返回类型的性能影响
- python - 第一个 while 循环迭代,但不改变第二个循环内的值
- c++11 - SEGV 在shrink_to_fit() 之后使用boost 进程间分配器与std::unordered_map 一起抛出
- c# - 访问 async .Result 是否被视为不好的做法?