我想在Python中创建一个倒计时,我想用非常简单的方法来创建。我看了几个视频,但没有找到合适的解决方案。
成都创新互联专注于企业营销型网站建设、网站重做改版、大理州网站定制设计、自适应品牌网站建设、H5网站设计、商城系统网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为大理州等各大城市提供网站开发制作服务。
这是我现在正在使用的代码。
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
import time
s = 0
while(True):
time.sleep(1)
s = s+1
print(s)
--------------------
新手献丑
用python实现计时器功能,代码如下:
'' Simple Timing Function.
This function prints out a message with the elapsed time from the
previous call. It works with most Python 2.x platforms. The function
uses a simple trick to store a persistent variable (clock) without
using a global variable.
'''
import time
def dur( op=None, clock=[time.time()] ):
if op != None:
duration = time.time() - clock[0]
print '%s finished. Duration %.6f seconds.' % (op, duration)
clock[0] = time.time()
# Example
if __name__ == '__main__':
import array
dur() # Initialise the timing clock
opt1 = array.array('H')
for i in range(1000):
for n in range(1000):
opt1.append(n)
dur('Array from append')
opt2 = array.array('H')
seq = range(1000)
for i in range(1000):
opt2.extend(seq)
dur('Array from list extend')
opt3 = array.array('H')
seq = array.array('H', range(1000))
for i in range(1000):
opt3.extend(seq)
dur('Array from array extend')
# Output:
# Array from append finished. Duration 0.175320 seconds.
# Array from list extend finished. Duration 0.068974 seconds.
# Array from array extend finished. Duration 0.001394 seconds.
题主空闲的时候可以多看看Python的相关教程,黑马程序员再往上有许多免费的教程,想学习的可以下载下来多看看,多学习学习,以后类似的问题就可以迎刃而解了。;share_time=1499421328373
python系统提供了下面常用的函数:
1. 数学库模块(math)提供了很多数学运算函数;
2.复数模块(cmath)提供了用于复数运算的函数;
3.随机数模块(random)提供了用来生成随机数的函数;
4.时间(time)和日历(calendar)模块提供了能处理日期和时间的函数。
注意:在调用系统函数之前,先要使用import 语句导入 相应的模块
该语句将模块中定义的函数代码复制到自己的程 序中,然后就可以访问模块中的任何函数,其方 法是在函数名前面加上“模块名.”。
希望能帮到你。
回答问题2:
因为第13行的
except KeyboardInterrupt
应改为
except a as KeyboardInterrupt
把a和b定义为两个线程,用event来传递信号,event初始值为False。
a中调用event.wait(),结束线程。
b随机调用event.set(),计时用time中的clock函数,然后在主线程中挂起两个线程,timeout设为600秒。