【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递增的数分别求除(得到分钟)和求余(得到秒)得到时间的计时器

 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

 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")
点我

 

posted @ 2016-09-13 20:28  坏小孩D_R  阅读(426)  评论(0编辑  收藏  举报