万年历-python

输出万年历
def
isleapyear(y):#计算是否是闰年 if y%100!=0: if y%4==0: return True else: return False else: if y%400==0: return True else: return False def getMonthDays(year,month):#计算每个年份每月的天数 days=31 if month==2: if(isleapyear(year)): days=29 else: days=28 elif month in [4,6,9,11]: days=30 return days def getWeekDay(year,month,day):#计算星期 total=0 for i in range(1900,year): if(isleapyear(i)): total+=366 else: total+=365 for i in range(1,month): total+=getMonthDays(year,i) total+=(day-1) return total def wnl(): weekday=['星期一','星期二','星期三','星期四','星期五','星期六','星期天'] print("输入年月日,求星期几:输入1") print("输入某年、某月,求该月的每一天是星期几:输入2") print("输入某年,求该年每一月的某一天是星期几:输入3") num=int(input()) if num==1: year=int(input("请输入年份:")) month=int(input("请输入月份:")) day=int(input("请输入哪天:")) i=getWeekDay(year,month,day)%7 print(str(year)+""+str(month)+""+str(day)+""+""+weekday[i]) if num==2: year=int(input("请输入年份:")) month=int(input("请输入月份:")) monthday=getMonthDays(year,month) Count = getWeekDay(year,month,1)%7+1 print("日\t 一\t 二\t 三\t 四\t 五\t 六") if(getWeekDay(year,month,1)%7!=6): print('\t'*(getWeekDay(year,month,1)%7+1),end=' ') for i in range(1,monthday+1): Count+=1 print (str(i)+'\t',end=' ') if Count%7==0: print('') if num==3: mon=['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'] year=int(input("请输入年份:")) for i in range(1,13): print('\n\t\t'+mon[i-1]+'\n') month=i monthday=getMonthDays(year,month) Count = getWeekDay(year,month,1)%7+1 print("日\t 一\t 二\t 三\t 四\t 五\t 六") if(getWeekDay(year,month,1)%7!=6): print('\t'*(getWeekDay(year,month,1)%7+1),end=' ') for i in range(1,monthday+1): Count+=1 print (str(i)+'\t',end=' ') if Count%7==0: print('') print('') wnl()

猜你喜欢

转载自www.cnblogs.com/gaoshiqing0/p/11673917.html