练习一百例之4--日期计算

问题及答案实例四,关于日期的简单练习Python练习题问题如下:简述:要求输入某年某月某日提问:求判断输入日期是当年中的第几天?

#!/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 #www.iplaypy.com

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
上面是参考答案,以下我的练习,加了一些格式校验,当然写成类可能更好看
此题,实验出来range(0)后 面不执行,不会抛出异常
 1 #!/usr/bin/env python
 2 #coding:utf8
 3 import time,datetime
 4 import os
 5
 6 days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
 7 def ReadDate():
 8     print "Please input a date string like 20170102 or 2017-01-02"
 9     Dateis = raw_input("Date is:")
10     Dateis = Dateis.replace(‘-‘,‘‘)  #加工成20170102
11     print Dateis
12     return Dateis
13
14 def Datesplite(Dateis):  #返回年月日列表
15     print Dateis
16     if len(Dateis) != 8:
17         print ‘Wrong input!‘
18     else:
19         try:
20             Year = int(Dateis[0:4])
21             Moon = int(Dateis[4:6].lstrip(‘0‘))
22             Day = int(Dateis[6:8].lstrip(‘0‘))
23         except:
24             print "Format is Wrong!"
25         return [Year,Moon,Day]
26
27 def Datecount(list_in):
28     print list_in
29     cday = 0
30     if list_in[0] %4 == 0 and list_in[1] > 2:
31         days[1] =days[1]+1
32     for i in range(list_in[1]-1):  #当range(0)时,这个后面不执行
33         print days[i]
34         cday += days[i]
35     cday +=list_in[2]
36     print cday,‘th‘
37
38 ‘‘‘ 一般调用顺序
39 inputdate = ReadDate()
40 splipdate = Datesplite(inputdate)
41 Datecount(splipdate)
42 ‘‘‘
43
44 Datecount(Datesplite(ReadDate()))
				
时间: 2024-08-29 11:25:58

练习一百例之4--日期计算的相关文章

一行代码比较用户A和用户B的年龄大小(两个日期计算)

两个日期计算 用法: <edate [id=书包名] [list]> <we start="开始日期" end="结束日期" [format="yyyy-MM-dd HH:mm:ss.SSS"]/> </edate> ·        id:书包名,EDate标签返回的书包名称,可选,为空时书包名为标签名edate ·        list:列表,可选,要不要列出从开始到结束的所有日期 ·        st

1502131514-蓝桥杯-算法提高 日期计算

算法提高 日期计算 时间限制:1.0s   内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情况. 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999 1 <= MM <= 12 1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期 1 <= W &

蓝桥杯-算法提高-日期计算

算法提高 日期计算 时间限制:1.0s   内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情况. 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999 1 <= MM <= 12 1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期 1 <= W &

CCF真题之日期计算

201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天.满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍: 2) 年份是400的整数倍. 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015). 输入的第二行包含一个整数d,d在1至365之间. 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期. 样例输入 2015 80 样例输出 3 21 样例输入

Bailian2965 玛雅历【日期计算】

2965:玛雅历 总时间限制: 1000ms 内存限制: 65536kB 描述 上周末,M.A. Ya教授对古老的玛雅有了一个重大发现.从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法.这个Haab历法拥有19个月,在开始的18个月,一个月有20天,月份的名字分别是pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, k

对指定日期计算出N天后的日期问题

指定日期计算出N天后的日期问题 问题描述:先输入起始日期,再输入任意天数n,求n天后的日期. 源代码一(参考http://zhidao.baidu.com/linkurl=0BxF0QvTywzuRkLUFj6ulUQKYqp97CjUOZBV1UUmXoCkS9HNyOT2axHkcOsRLi-xlB_JE6KvdglSD23S35EUXK) #include<stdio.h> <span style="font-family:SimHei;font-size:14px;&q

日期计算

闰年的详细定义: 年份非整百且能被 4 整除的为闰年.(如 2004 年就是闰年, 2005 年不是闰年) 年份能被 400 整除的是闰年.(如 2000 年是闰年,1900 年不是闰年) int is_leap_year(int year) {    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {        return 1;    }    return 0;} 经常会遇到别人问你几月几号是星期几的情况,如何

国内cn域名过期失效日期计算方式

国内的cn域名在过期60天后将会被***, 可以提供重新注册. 但是这60天是怎么计算的呢? 如果你计算错了也许期盼已久的域名就会被别人注册走. 我就有这么悲催经历, 先前是看到有的网站说是过期45天就***了,让我守了2个晚上也没有注册到. 结果在60天到期***的时候被别人注册走了. 请记住 60天的过期时间是 包括域名过期当天计算一天. 第60天计算一天. 也就是在第60天的时候 就可以注册了. 不用等到第61天.................... 国内cn域名过期失效日期计算方式,布

iOS学习笔记37-时间和日期计算

一.时间和日期计算 我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有如下几个: 1. NSDate:表示一个绝对的时间点 2. NSTimeZone:时区信息 3. NSLocale:本地化信息 4. NSDateComponents:一个封装了具体年月日.时秒分.周.季度等的类 5. NSCalendar:日历类,它提供了大部分的日期计算接口 6. NSDateFormatter:用来在日期和字符串之间转换 二.NSDate