1. 程式人生 > >【練習題】根據下列資訊計算在1901年1月1日至2000年12月31日間共有多少個星期天落在每月的第一天上?

【練習題】根據下列資訊計算在1901年1月1日至2000年12月31日間共有多少個星期天落在每月的第一天上?



題目內容:

根據下列資訊計算在1901年1月1日至2000年12月31日間共有多少個星期天落在每月的第一天上?

a)  1900.1.1是星期一

b)  1月,3月,5月,7月,8月,10月和12月是31天

c)  4月,6月,9月和11月是30天

d)  2月是28天,在閏年是29天

e)  公元年數能被4整除且又不能被100整除是閏年

f)  能直接被400整除也是閏年

輸出格式:

一個正整數

countday=1
total=0


for year in range(1900,2001):
    for month in range(1,13):
        if month==1:
            day=31
        elif month==2:
            if (year%4==0 and year%100!=0) or year%400==0:
                day=29
            else:
                day=28
        elif month==3:
            day=31
        elif month==4:
            day=30
        elif month==5:
            day=31
        elif month==6:
            day=30
        elif month==7:
            day=31
        elif month==8:
            day=31
        elif month==9:
            day=30
        elif month==10:
            day=31
        elif month==11:
            day=30
        else:
            day=31      
        countday+=day
        if (countday%7)==0 and year>1900:
            total+=1
print total