【Time系列三】简单的计时器(秒表)
之前在 "for与while的洪荒之力" 中介绍到计时器,不过那样弄感觉好麻烦啊,
碰巧昨天学Java的时候,讲到求余可以用来求时间 !
for与while链接: http://www.cnblogs.com/Ruby517/p/5738344.html
所以今天我们来用一种更简单的方法求出时间: 首先,先来个简单的,看看求
余符号 "%" 究竟有什么用? 通常,一周的第0天是周日,第一天是周一 ......
1 # coding: utf-8 2 3 print u"今天是周二..." 4 5 date = { 6 0: u"周日", 7 1: u"周一", 8 2: u"周二", 9 3: u"周三", 10 4: u"周四", 11 5: u"周五", 12 6: u"周六" 13 } 14 15 goal_date = (2 + 100) % 7 16 17 if goal_date in date: 18 print u"一百天后是%s!!!" % (date.get(goal_date))
大家可以想想,这里要是不用字典,那得有七个if/else语句,分别用来表示周日/一/二/三/四/五/六
-----------------------------------------------------------------------------------------------------
方法1: 利用while循环和从1递增的数分别求除(得到分钟)和求余(得到秒)得到时间的计时器
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 # coding: utf-8 2 3 import os 4 import time 5 6 seconds = 0 7 8 while True: 9 seconds += 1 10 curr_min = str(seconds / 60) 11 curr_sec = str(seconds % 60) 12 13 if len(curr_sec) != 2: 14 if len(curr_min) != 2: 15 print "0%s:0%s" % (curr_min, curr_sec) 16 else: 17 print "%s:0%s" % (curr_min, curr_sec) 18 else: 19 if len(curr_min) != 2: 20 print "0%s:%s" % (curr_min, curr_sec) 21 else: 22 print "%s:%s" % (curr_min, curr_sec) 23 24 time.sleep(1) 25 os.system("cls") 26 27
注意,这里容易出错的是清屏指令的位置,如果把它放在time.sleep(1)的前面, 将会导致刚
一打印出来就即刻清屏,也就是根本显示不出时间信息......
方法2: 是用while循环和从1到61的for循环,当秒迭代到60时,我们再让它变成00,同时让分钟加1
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 # coding: utf-8 2 3 import os, time 4 5 curr_min = 0 6 7 while True: 8 for curr_sec in range(1, 61): 9 if curr_sec == 60: 10 curr_sec = 00 11 curr_min += 1 12 13 if len(str(curr_sec)) != 2: 14 if len(str(curr_min)) != 2: 15 print "0%s:0%s" % (curr_min, curr_sec) 16 else: 17 print "%s:0%s" % (curr_min, curr_sec) 18 else: 19 if len(str(curr_min)) != 2: 20 print "0%s:%s" % (curr_min, curr_sec) 21 else: 22 print "%s:%s" % (curr_min, curr_sec) 23 24 time.sleep(1) 25 os.system("cls")