标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。