Python 练习实例4
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
year = int(raw_input('year:\n'))
month = int(raw_input('month:\n'))
day = int(raw_input('day:\n'))
months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 < month <= 12:
sum = months[month - 1]
else:
print 'data error'
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
print 'it is the %dth day.' % sum
以上实例输出结果为:
year: 2015 month: 6 day: 7 it is the 158th day.
ym
853***877@qq.com
参考解法:
ym
853***877@qq.com
苹果pai
646***039@qq.com
闰年需要同时满足以下条件:
苹果pai
646***039@qq.com
流年细雨
758***823@qq.com
参考解法:
流年细雨
758***823@qq.com
Atom
tum***@126.com
参考解法:
Atom
tum***@126.com
老虎头
sha***026@163.com
参考解法:
老虎头
sha***026@163.com
shusihui
511***990@qq.com
参考方法:
shusihui
511***990@qq.com
lqy126
412***942@qq.com
参考方案:
lqy126
412***942@qq.com
初学者
646***860@qq.com
参考方法:
初学者
646***860@qq.com
cc
123***3.123
Python3 参考解法:
cc
123***3.123
半音节
104***9456@qq.com
真正意义上自己思考写出来的第一题,撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
半音节
104***9456@qq.com
guanerye
lis***nan7@hotmail.com
参考方法:
guanerye
lis***nan7@hotmail.com
Think-dfrent
iwa***aoiy@live.com
通过计算输入的日期与相应年份1月1日相差的秒数,然后除以每天的秒数3600*24,即可得到输入日期的天数
Think-dfrent
iwa***aoiy@live.com
日向翔阳
wel***y@yeah.net
考虑实际的情况,比如输入月份为13月或输入天数为65天时候报错(日期仅校对0-31天,未按照实际日期校对):
日向翔阳
wel***y@yeah.net
AKILLII
616***634@qq.com
通过输入时间点的unix时间戳和输入年份首日的Unix时间戳之间的差,来计算经过的时间
AKILLII
616***634@qq.com
小青与
190***2527@qq.com
python3 利用time模块,简洁写法:
小青与
190***2527@qq.com
阿科.zck
121***125@qq.com
Python2.x 与 Python3.x 兼容:
阿科.zck
121***125@qq.com
Echo
csz***13@163.com
分享一下我的答案:
Echo
csz***13@163.com
阿土仔
227***15@qq.com
加入异常处理,确保日期输入格式正确:
阿土仔
227***15@qq.com
S
894***936@qq.com
参考方法:
S
894***936@qq.com