【Time系列三】简单的计时器(秒表)
之前在 "for与while的洪荒之力" 中介绍到计时器,不过那样弄感觉好麻烦啊,
碰巧昨天学Java的时候,讲到求余可以用来求时间 !
for与while链接: http://www.cnblogs.com/Ruby517/p/5738344.html
所以今天我们来用一种更简单的方法求出时间: 首先,先来个简单的,看看求
余符号 "%" 究竟有什么用? 通常,一周的第0天是周日,第一天是周一 ......
# coding: utf-8
print u"今天是周二..."
date = {
0: u"周日",
1: u"周一",
2: u"周二",
3: u"周三",
4: u"周四",
5: u"周五",
6: u"周六"
}
goal_date = (2 + 100) % 7
if goal_date in date:
print u"一百天后是%s!!!" % (date.get(goal_date))
大家可以想想,这里要是不用字典,那得有七个if/else语句,分别用来表示周日/一/二/三/四/五/六

-----------------------------------------------------------------------------------------------------
方法1: 利用while循环和从1递增的数分别求除(得到分钟)和求余(得到秒)得到时间的计时器
# coding: utf-8 import os
import time seconds = 0 while True:
seconds += 1
curr_min = str(seconds / 60)
curr_sec = str(seconds % 60) if len(curr_sec) != 2:
if len(curr_min) != 2:
print "0%s:0%s" % (curr_min, curr_sec)
else:
print "%s:0%s" % (curr_min, curr_sec)
else:
if len(curr_min) != 2:
print "0%s:%s" % (curr_min, curr_sec)
else:
print "%s:%s" % (curr_min, curr_sec) time.sleep(1)
os.system("cls")
计时器
注意,这里容易出错的是清屏指令的位置,如果把它放在time.sleep(1)的前面, 将会导致刚
一打印出来就即刻清屏,也就是根本显示不出时间信息......
方法2: 是用while循环和从1到61的for循环,当秒迭代到60时,我们再让它变成00,同时让分钟加1
# coding: utf-8 import os, time curr_min = 0 while True:
for curr_sec in range(1, 61):
if curr_sec == 60:
curr_sec = 00
curr_min += 1 if len(str(curr_sec)) != 2:
if len(str(curr_min)) != 2:
print "0%s:0%s" % (curr_min, curr_sec)
else:
print "%s:0%s" % (curr_min, curr_sec)
else:
if len(str(curr_min)) != 2:
print "0%s:%s" % (curr_min, curr_sec)
else:
print "%s:%s" % (curr_min, curr_sec) time.sleep(1)
os.system("cls")
点我

【Time系列三】简单的计时器(秒表)的更多相关文章
- sql server 备份与恢复系列三 简单恢复模式下的备份与还原
一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原.在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重 ...
- 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- Web 开发人员和设计师必读文章推荐【系列三十】
<Web 前端开发精华文章推荐>2014年第9期(总第30期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- MySQL并发复制系列三:MySQL和MariaDB实现对比
http://blog.itpub.net/28218939/viewspace-1975856/ 并发复制(Parallel Replication) 系列三:MySQL 5.7 和MariaDB ...
- WCF编程系列(三)地址与绑定
WCF编程系列(三)地址与绑定 地址 地址指定了接收消息的位置,WCF中地址以统一资源标识符(URI)的形式指定.URI由通讯协议和位置路径两部分组成,如示例一中的: http://loc ...
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- RDLC报表系列(一) 简单的动态数据绑定和配置
RDLC系列链接 RDLC报表系列(一) 简单的动态数据绑定和配置 RDLC报表系列(二) 行分组 RDLC报表系列(三) 总计和折叠 RDLC报表系列(四) 矩阵 RDLC报表系列(五) 简单的图 ...
- 系列三VisualSvn Server
原文:系列三VisualSvn Server VisualSvn Server介绍 1 .VisualSvn Server VisualSvn Server是免费的,而VisualSvn是收费的.V ...
- FrameBuffer系列 之 简单编程
一.Linux的帧缓冲设备 帧缓冲(framebuffer)是 Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的 ...
随机推荐
- jQuery easyui刷新当前tabs
更新特定的选项卡面板 可使用update方法,param参数包含2个属性: tab: 将被更新的选项卡. options: 选项卡相关配置项. Example: //当前tab var current ...
- 对Conjugate Gradient 优化的简单理解
对Conjugate Gradient 优化的简单理解) 机器学习&数据挖掘笔记_12(对Conjugate Gradient 优化的简单理解) 数学优化方法在机器学习算法中至关重要,本篇博客 ...
- ASP.NET Web API的消息处理管道: HttpRoutingDispatcher
ASP.NET Web API的消息处理管道: HttpRoutingDispatcher 认情况下,作为消息处理管道“龙头”的HttpServer的Dispatcher属性返回一个HttpRouti ...
- IIS7中 ASP.NET授权功能如何实现对静态文件的控制
IIS7中 ASP.NET授权功能如何实现对静态文件的控制 前序 .net提供了3种用户认证的方式,分别是Windows,Forms,Passport.这几种形式的定义可以在网站根目录下Web.con ...
- JAVA多线程经典问题 -- 生产者 消费者
工作2年多来一直也没有计划写自己的技术博客,最近辞职在家翻看<thingking in JAVA>,偶尔看到了生产者与消费者的一个经典的多线程同步问题.本人在工作中很少使用到多线程以及高并 ...
- 三种不同实现初始化和销毁bean之前进行的操作的比较
Spring容器中的bean是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下三种: 通过实现 InitializingBean/ ...
- CodeForces 213B Numbers
$dp$,组合数. $dp[i][j]$表示只用数字$i$,$i+1$,$i+2$......,$9$,凑成长度为$j$的并且数字$i$到$9$符合要求的方案数.只要枚举数字$i$用几个就可以转移了. ...
- Prefix the choice with ! to persist it to bower.json ? Answer (问你选择哪个1,2,3.........)
Unable to find a suitable version for underscore, please choose one by typing on e of the numbers be ...
- Ajax beforeSend和complete 方法与防止重复提交
$.ajax({ beforeSend: function(){ // Handle the beforeSend event }, complete: function(){ // Handle t ...
- Sipdroid实现SIP(五): 用Java实现的UserAgent
I. 概述 UserAgent是SIP协议中的一个概念, 将"打电话"功能中的主叫和被叫逻辑上封装成UserAgent, 就像将"注册"功能的发起方和接收方封装 ...