【问题标题】:Beginner at Python (Timer help)Python初学者(定时器帮助)
【发布时间】:2014-04-25 15:22:41
【问题描述】:

我正在使用 python 制作问卷,并希望在问卷上有一个可见的计时器。我用于计时器的代码如下,但是当它倒计时时,它会创建一个新行并且不会让我的问卷的其余部分运行。请帮忙!

import os
import time
s=59
m=5
while s<=59:
    os.system('cls')
    print ( m, "Minutes", s, "Seconds")
    time.sleep(1)
    s-=1
    if s==0:
        m-=1
        s=59

【问题讨论】:

  • 显然你在同一个线程上运行你的“计时器”和你的问卷。您可能想研究多线程或多处理。
  • 我不会在 while 循环中重置 s=59,在循环外尝试一下

标签: python timer computer-science


【解决方案1】:

好像有两个问题:

  1. 您的计时器循环会阻塞应用程序的其余部分
  2. 打印当前时间会换行并让屏幕滚动

解决 1 使用线程或进程。计时器和问卷在不同的线程中。

要解决 2,您可以使用转义序列来控制屏幕。但是由于您的问卷必须在不滚动计时器的情况下滚动,所以这确实需要一个 GUI。 Tcl/Tk 是 Python 自带的 GUI 库。我希望这将是最容易使用的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多