python核心编程第六章练习6-15
转换。
(a)给出两个可识别格式的日期,比如MM/DD/YY或者DD/MM/YY格式。计算出两个日期之间的天数。
(b)给出一个人的生日,计算此人从出生到现在的天数,包括所有的闰月。
(c)还是上面的例子,计算出此人下次过生日还有多少天。
【答案】
(a)代码如下:
def date_convert(date_input):
month = int(date_input.split('/')[0])
day = int(date_input.split('/')[1])
year = int('20' + date_input.split('/')[2])
return (year, month, day) import datetime
date_input = raw_input('Please input the begin date, MM / DD / YY ... ')
d1 = datetime.date(date_convert(date_input)[0], date_convert(date_input)[1], date_convert(date_input)[2])
date_input = raw_input('Please input the end date, MM / DD / YY ... ')
d2 = datetime.date(date_convert(date_input)[0], date_convert(date_input)[1], date_convert(date_input)[2])
print (d2 - d1).days
(b)代码如下:
def date_convert(date_input):
month = int(date_input.split('/')[0])
day = int(date_input.split('/')[1])
year = int(date_input.split('/')[2])
return (year, month, day) import datetime
date_input = raw_input('Please input his birthday, MM / DD / YYYY ... ')
d1 = datetime.date(date_convert(date_input)[0], date_convert(date_input)[1], date_convert(date_input)[2])
print (datetime.date.today() - d1).days
(c)代码如下:
def date_convert(date_input):
month = int(date_input.split('/')[0])
day = int(date_input.split('/')[1])
year = int(date_input.split('/')[2])
return (year, month, day) import datetime
date_input = raw_input('Please input his birthday, MM / DD / YYYY ... ') import time
next_year = int(time.strftime('%Y',time.localtime(time.time()))) + 1
next_birthday = datetime.date(next_year, date_convert(date_input)[1], date_convert(date_input)[2])
print (next_birthday - datetime.date.today()).days
以上代码支持06/13/15 不支持06/13/2015
python核心编程第六章练习6-15的更多相关文章
- python核心编程第六章练习6-14
随机数.设计一个“石头.剪子.布”游戏,有时又叫“Rochambeau”,你小时候可能玩过,下面是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种:石头.剪子.布.胜利者从下面的规则产生, ...
- python核心编程第六章练习6-13
6-13.字符串.string模块包含三个函数,atoi(),atol()和atof(),他们分别负责把字符串转换成整型.长整型和浮点型数字.从Python 1.5起,Python的内建函数int() ...
- python核心编程第六章练习6-10
6-10.字符串.写一个函数,返回一个跟输入字符串相似的字符串,要求字符串的大小写反转,比如,输入“Mr.Ed”,应该返回“mR.eD”作为输出.[答案]代码如下: #!/usr/bin/env py ...
- python核心编程第六章练习6-9
6-9.转换.为练习5-13写一个姊妹函数,接受分钟数,返回小时数和分钟数.总时间不变,并且要求小时尽可能大.[答案]代码如下: #!/usr/bin/env python # translate m ...
- python核心编程第六章练习6-8
6-8.列表.给出一个整型值,返回代表该值得英文,比如输入89会返回“eight-nine”.附加题:能够返回符合英文语法规律的新式,比如输入89会返回“eighty-nine”.本练习中的值假定在0 ...
- 【3】python核心编程 第六章-序列:字符串、列表和元组
1.序列类型操作符 序列操作符 作用 seq[ind] 获得下标为ind 的元素 seq[ind1:ind2] 获得下标从ind1 到ind2 间的元素集合 seq * expr 序列重复expr 次 ...
- python核心编程第六章练习6-12
6-12.字符串.(a)创建一个名字为findchr()的函数,函数声明如下.def findchr(string, char)findchr()要在字符串string中查找字符char,找到就返回该 ...
- python核心编程第六章练习6-11
6-11.转换.(a)创建一个从整型到IP地址的转换,如下格式:www.xxx.yyy.zzz.(b)更新你的程序,使之可以逆转换.[答案](a)代码如下: Input_number = abs(in ...
- python 核心编程第六章课后题自己做的答案
6–6. 字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的 空格(如果使用 string.*strip()函数那本练习就没有意义了) 'Take a str ...
随机推荐
- js展开一颗树
Tree View 指令不支持 树结构数据源, 只支持单层数组.(也许是我没发现,人家可以设置) .我只能把树展开,变成单层数组.然后还要记录已经递归到第一层了.比如这样. <!doctype ...
- 变量在SSIS包中的使用
2010~2011年经常使用SSIS包采集加工数据,后来换了工作就很少使用.最近又开始用那玩意采集数据,努力回想之前是怎样操作的,网上各种找各种纠结.趁这次使用记录下日常操作步骤,以备以后不时之需. ...
- 20145320 《Java程序设计》第5周学习总结
20145320 <Java程序设计>第5周学习总结 教材学习内容总结 8.1 语法与继承架构 try.catch Java中的错误会被包装为对象,而使用try与catch,JVM会执行t ...
- MVC Action返回Json
Action [HttpPost] public ActionResult Edit(Study_CourseHourModel model) { ...
- 一个安邦逻辑漏洞爆破密码的py脚本
漏洞地址: 安邦保险集团存在逻辑漏洞可遍历用户ID暴力破解用户原始密码进而重置用户密码(附脚本) http://www.wooyun.org/bugs/wooyun-2010-0119851 脚本PO ...
- Redis linux 下安装 及扩展配置
1.首先在/usr/local/ 创建文件夹 reids Cd /usr/local/ mkdir redis 2.把redis安装包放在redis目录下面进行解压phpredis-2.2.4.tar ...
- Shell脚本关于屏幕输出的字符进行颜色控制的问题
文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色, ...
- Windows Azure Azure 简介
平台介绍 Windows Azure作为一个微软公有云平台,被寄予了厚望. 可以说Windows Azure与Windows RT一样是微软战略转型的重点. 2012年9月微软与中国本土的电信服务提供 ...
- php中rsa加密及解密和签名及验签
加密的内容长度限制为密钥长度少位,如位的密钥最多加密的内容为个长度. 公钥加密 $public_content=file_get_contents(公钥路径); $public_key=openssl ...
- [转]MySQL5.6新特性之Multi-Range Read
这几天看到mrr的东西,刚好看到以前我们组的一个小伙的博客,我看挺全的,就转过来了,原博客地址请戳 一 介绍 MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range ...