Python用time,设计程序,显示20秒倒计时Python用time,设计程序,显示20秒倒计?

Python用time,设计程序,显示20秒倒计时Python用time,设计程序,显示20秒倒计?,第1张

回答会自动过滤缩进,需要按照上图调整语法缩进,下方是代码

import time

# 设置倒计时时间(单位:秒)

countdown_time = 20

# 开始循环

while countdown_time >0:

# 打印当前倒计时时间

print(countdown_time)

# 等待 1 秒

time.sleep(1)

# 倒计时时间减 1

countdown_time -= 1

# 倒计时结束

print("倒计时结束!")

我想在Python中创建一个倒计时,我想用非常简单的方法来创建。我看了几个视频,但没有找到合适的解决方案。

这是我现在正在使用的代码。

import time

def countdown(t):

while t:

mins, secs = divmod(t, 60)

timer = '{:02d}:{:02d}'.format(mins, secs)

print(timer, end="\r")

time.sleep(1)

t -= 1

print('Time Over!!!!')

t = input("Enter the time in seconds: ")

countdown(int(t))

解决方案1

问题是,当你睡眠1秒的时候,并不是精确的1秒,理论上说,在足够长的时间内,错误可能会传播,以至于你可能会打印出一个错误的时间。为了纠正这一点,你的代码需要在它的循环中实际检查从程序开始运行以来实际经过了多少时间,并使用它来计算t的新值是多少,而且它应该经常这样做,以便倒计时顺利进行。比如说。

import time

def countdown(t):

start_time = time.time()

start_t = t

# compute accurate new t value aprroximately every .05 seconds:

while t >0:

mins, secs = divmod(t, 60)

timer = '{:02d}:{:02d}'.format(mins, secs)

print(timer, end="\r")

time.sleep(.05) # finer timing

now = time.time()

elapsed_time = int(now - start_time) # truncated to seconds

t = start_t - elapsed_time

print('Time Over!!!!')

t = input("Enter the time in seconds: ")

countdown(int(t))

参考: How to make a countdown

现象描述:

1、time.clock 在win系统和linux系统下对相同程序的计时结果不一致

2、到底应该用什么时间计时?为什么用time.time与time.clock计时会有那么大的差异

在计算机领域有多种时间。

第一种称作CPU时间或执行时间,用于测量在执行一个程序时CPU所花费的时间。第二种称作挂钟时间,测量执行一个程序时的总时间。挂钟时间也被称作流逝时间或运行时间。与CPU时间相比,挂钟时间通常长些,因为CPU执行测量的程序可能同时还在执行其它程序的指令。

另一个重要概念是所谓的系统时间,由系统时钟测量。系统时间表示计算机系统时间传递的概念。要记住系统时钟是可以由 *** 作系统修改的,就是修改系统时间。

在Unix系统上,time.time的作用与Windows相同,但time.clock的意义不同。

在Unix系统上,time.clock以秒为单位返回当前处理器时间,例如,执行当前线程所花费的CPU时间。而在Windows上,它是以秒为单位的返回自首次调用该函数以来所流逝的系统时间。

以我遇到的Ubuntu系统上运行time.time和time.clock的例子:

time.time()显示系统时间过去大概1秒,而time.clock()显示花费在当前进程上的CPU时间只有于1毫秒。

而win下time.time()和time.clock()显示系统时间都是大致过去了1秒

在测量程序准确性能时应该使用哪一个呢?

这要视情况而定。如果程序运行的系统能够提供足够的资源给程序,例如,一个运行基于Python的web应用程序的web服务器,则使用time.clock()来测量程序会更有意义,因这个web应用程序可能是服务器上的主要程序 。如果程序运行的系统上还同时运行着其它大量程序,则使用time.time()进行测量会更有意义。 如果不是这样,就应该使用基于挂钟的计时器来测量程序的性能,因为这样通常能反应程序的环境。

放结论,一般情况下:

1、win用time.clock或time.time

2、linux 下用time.time  或 datetime.datetime.now().timestamp()

【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790    Python测量时间,用time.time还是time.clock 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11748100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存