【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为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的 ...
随机推荐
- Linq 结果转成 json
public string BindGrid(string page,string rows) { int pageIndex = 0; if ...
- [转]Python tips: 什么是*args和**kwargs?
Python tips: 什么是*args和**kwargs? 原文地址:http://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html ...
- day7 面向对象编程
编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种 ...
- 【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)
在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数.那么这个连接数是干什么的?这就要理解inode. 先说一下文件是怎么存储的 ...
- Python学习入门基础教程(learning Python)--6.3 Python的list切片高级
上节"6.2 Python的list访问索引和切片"主要学习了Python下的List的访问技术:索引和切片的基础知识,这节将就List的索引index和切片Slice知识点做进一 ...
- hdu 1728 搜索求最少的转向次数
逃离迷宫 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- mongodb两次被黑后......
先说说事情的经过...... 2017年1月8号星期天,在家翻头条无意中看到一条新闻说很多用户的mongodb被黑了,数据都被删了.当时想着公司的爬虫用的也是mongodb做存储,应该不会被黑吧,不可 ...
- Nutz中过滤特殊字符
##Servlet中有获取Request参数的方法,而Nutz中也有重写类似的方法,我们只要知道它如何得到RequestMap就可以处理请求中的参数,进而对它进行处理. 在Nutz项目中的MainMo ...
- 再谈加密-RSA非对称加密的理解和使用
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- JavaScript的对象与Json
JSON有非常严格的语法,在string上下文里{ "prop": "val" } 是个合法的JSON,但{ prop: "val" }和{ ...