#!/usr/bin/env python #获取天数 def getDays(year,month,day): leap_year_month_list = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] nleap_year_month_list = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] sum_days = 0 sum_days += day if year < 1900: for year in range(year,1899): if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: sum_days += 366 else: sum_days += 365 for iyear in range(1900,year): if (iyear % 4 == 0 and iyear % 100 != 0) or iyear % 400 == 0: sum_days += 366 else: sum_days += 365 if year >= 1900: if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: # print("leap_year_month_list",year) for i in range(1,month): sum_days += leap_year_month_list[i] # print(leap_year_month_list[i]) else: # print("nleap_year_month_list",year) for i in range(1,month): sum_days += nleap_year_month_list[i] # print(nleap_year_month_list[i]) else: if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: # print("leap_year_month_list",year) for i in range(month,12): sum_days += leap_year_month_list[i] # print(leap_year_month_list[i]) else: # print("nleap_year_month_list",year) for i in range(month,12): sum_days += nleap_year_month_list[i] # print(nleap_year_month_list[i]) return sum_days #判断日期是否正确 def isDays(year,month,day): leap_year_month_list = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] nleap_year_month_list = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] flag = 0 if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: if month > 0 and month <= 12: if day > leap_year_month_list[month]: flag = 1 else: flag = 1 else: if month > 0 and month <= 12: if day > nleap_year_month_list[month]: flag = 1 else: flag = 1 return flag weeks = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六'] while True: year = int(input("请输入一个日期 年:")) month = int(input("请输入一个日期 月:")) day = int(input("请输入一个日期 日:")) flag = isDays(year,month,day) if flag == 1: print("日期格式错误,请继续输入!") continue sum_days = getDays(year, month, day) print(sum_days) day_of_the_week = int(sum_days % 7) date = str(year) + '.' + str(month) + '.' + str(day) print("%s 星期 %s" % (date,weeks[day_of_the_week]))