【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为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的 ...
随机推荐
- 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )
64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhH ...
- ibatis实战之一对多关联
在实际开发中,我们常常遇到关联数据的情况,如User对象拥有若干Book对象 每个Book对象描述了归属于一个User信息,这种情况下,我们应该如何处理? 通过单独的Statement操作固然可以实现 ...
- ASP.NET WebAPI HTTPS
参照文档 http://southworks.com/blog/2014/06/16/enabling-ssl-client-certificates-in-asp-net-web-api/ 第一 ...
- iOS 开发之协议-代理传值
刚开始做iOS开发的时候,对 protocol.delegate 的理解一直都是晕晕乎乎一知半解的状态,不知道两个UIViewController之间怎么进行传值. 面试过几个童鞋,问道怎么用 del ...
- DotNetBar v11.4.0.6 Fully Cracked
更新信息: http://www.devcomponents.com/customeronly/releasenotes.asp?p=dnbwf&v=11.4.0.6 如果遇到破解问题可以与我 ...
- 自制AutoMapper实现DTO到持久层Entity的转换
自制AutoMapper实现DTO到持久层Entity的转换 项目中经常涉及到页面DTO更新,保存到数据库的操作,这就必然牵扯到DTO和持久层对象的转换,常见的第三方库有: java:dozer .n ...
- Study notes for Discrete Probability Distribution
The Basics of Probability Probability measures the amount of uncertainty of an event: a fact whose o ...
- 计算机就是用命换的行业,多干一年程序猿,寿命将减少2年,干20年的编程苦力,基本60岁之前你就要OVER了
if c++==python:(869710179) 2013-7-6 10:21:31 计算机本来就是用命换的行业 爱笑的眼睛(373213735) 2013-7-6 10:21:55 if c ...
- 工作流--JBPM核心服务及表结构
一. 使用JBPM开发工作流的一般流程 1. jBPM的运行需要数据库的支持,因此系统设计时要选定所用数据库.只要是Hibernate支持的数据库,jBPM就支持.数据库的初始化 ...
- ON COMMIT PRESERVE ROWS
定义声明式全局临时表的每个会话拥有自己的独特的临时表描述.当会话终止时,表行和临时表描述均会被删除. 有如下选项,可控制commit后临时表的状态: ON COMMIT DELETE ROWS:在执行 ...