已知,1900年1月1日是星期1,用戶隨機輸入年月日,計算星期幾 代碼如下(未改進),歡迎批評指正 year=int(input('year')) month=int(input('month')) day=int(input('day')) if year >=1900:#大於等於1900 rye ...
已知,1900年1月1日是星期1,用戶隨機輸入年月日,計算星期幾
代碼如下(未改進),歡迎批評指正
year=int(input('year')) month=int(input('month')) day=int(input('day')) if year >=1900:#大於等於1900 ryear =1900 sum =0 while ryear < year:#1901 if ((ryear % 4 == 0) and (ryear %100 !=0))or(ryear % 400 == 0):#雲年 sum+=2 else: sum+=1 ryear+=1 #計算月份移動 mon = month r_month = 1 while r_month < month:#計算到mon月份1號 if r_month in [1,3,5,7,8,10,12]: sum +=3 sum = sum % 7 elif r_month in [4,6,9,11]: sum +=2 else: if (year % 4 == 0 and year %100 != 0) or (ryear % 400 == 0): sum +=1 else: sum +=0 r_month+=1 #計算天 sumday = day -1 sum+=sumday sum = sum % 7 #根據移動進行判斷 if sum ==1: print('星期2') elif sum ==2: print('星期3') elif sum ==3: print('星期4') elif sum ==4: print('星期5') elif sum ==5: print('星期6') elif sum ==6: print('星期7') else: print('星期1') else:#計算小於1990年 ye = year year +=1 sum = 0 while year<1900: if (year % 4 == 0 and year %100 !=0) or(year % 400 == 0):#閏年 sum+=2 else: sum +=1 year+=1 #計算月份移動 mo=month month =month+1 while month <=12:#計算到mon月份1號 if month in [1,3,5,7,8,10,12]: sum +=3 elif month in [4,6,9,11]: sum +=2 else: if (year % 4 == 0 and year %100!=0) or(year % 400 == 0): sum +=1 else: sum +=0 month+=1 #計算天 if mo in [1,3,5,7,8,10,12]: sum += 31-day+1 elif mo in [4,6,9,11]: sum += 30-day+1 else: if (year % 4 == 0 and year %100 !=0) or (year % 400 == 0): sum += 29-day+1 else: sum += 28-day+1 sum = sum % 7 #根據移動進行判斷 if sum ==1: print('星期7') elif sum ==2: print('星期6') elif sum ==3: print('星期5') elif sum ==4: print('星期4') elif sum ==5: print('星期3') elif sum ==6: print('星期2') else: print('星期1') print('game over')星期幾