ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python制作万年历,输入年月日,判断1900到输入的日期的总天数,格式化输出日历

2019-08-01 21:52:29  阅读:453  来源: 互联网

标签:week return python month 输入 year print day 1900


练习python函数制作万年历

运行效果如下:

 1 ##判断是否闰年
 2 def isleap(year):
 3     if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
 4         return True
 5     else:
 6         return False
 7 
 8 ##判断每个月有多少天
 9 def get_day(year,month):
10     if month in [1, 3, 5, 7, 8, 10, 12]:
11         return 31
12     elif month in [4, 6, 9, 11]:
13         return 30
14     else:
15         if isleap(year):
16             return 28
17         else:
18             return 29
19 
20 
21 def wanNianLi():
22     year_in = int(input("InPut the Year:"))
23     month_in = int(input("InPut the Month:"))
24     day_in = int(input("InPut the day:"))
25     #判断是不是闰年
26     if isleap(year_in):
27         print("%d是闰年"%year_in)
28     else:
29         print("%d不是闰年"%year_in)
30     #获取这个月有多少天数
31     day_num = get_day(year_in,month_in)
32     print("%d年%d月有%d天"%(year_in,month_in,day_num))
33 
34     #计算从1900到当前年有多少天
35     day_now = 0
36     for i in range(1900,year_in):
37         if isleap(year_in):
38             day_now += 366
39         else:
40             day_now += 365
41     print("从1900年到%d年有%d天"%(year_in,day_now))
42 
43     def sum_day(year_in,month_in,day_in):
44         '''
45         #计算1900年1月1日到输入的年月日的天数
46         :param year_in:
47         :param month_in:
48         :param day_in:
49         :return:
50         '''
51         #计算用户输入的月份到输入的年份的1月1日有多少天
52         day_long = 0
53         for i in range(1, month_in):
54             day_long+=get_day(year_in,i)
55         else:
56             day_long+=day_in
57         #print('1月1日到%d月%d日有%d天'%(month_in,day_in,day_long))
58 
59         #计算1900年1月1日到输入的年月日的天数
60         day1900toNow = day_now + day_long
61         #print('1900年1月1日到%d年%d月%d日有%d天'%(year_in,month_in,day_in,day1900toNow))
62         return day1900toNow
63 
64     def get_week(year_in,month_in,day_in):
65         '''
66         # 计算输入月的星期数,1900年1月1日是星期一
67         :param year_in:
68         :param month_in:
69         :param day_in:
70         :return:
71         '''
72         # 计算输入月的星期数,1900年1月1日是星期一
73         week = sum_day(year_in,month_in,day_in) % 7
74         if week == 0:
75             week = 7
76         #print("%d年%d月%d日是星期%s" % (year_in, month_in, day_in, week))
77         return week
78     get_week(year_in,month_in,day_in)
79     ##格式化
80     print("日\t一\t二\t三\t四\t五\t六\t")
81     day_week = get_week(year_in, month_in, 1)
82     print("\t" * day_week,end='')
83     for imon in range(1,get_day(year_in,month_in)+1):
84         print(imon,'\t',end='')
85         if get_week(year_in, month_in, imon)==6:
86             print()
87 wanNianLi()

 

标签:week,return,python,month,输入,year,print,day,1900
来源: https://www.cnblogs.com/wenmo/p/11285592.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有