1. 程式人生 > >python判斷輸入日期為第幾天

python判斷輸入日期為第幾天

# -*- coding: utf-8 -*-
# 簡述:要求輸入某年某月某日
# 提問:求判斷輸入日期是當年中的第幾天?
def which_day(year,month,day):
    list=[31,28,31,30,31,30,31,31,30,31,30,31]
    whichday=0
    if (year%4)==0 and (year%100)!=0 or (year%400)==0:
        list[1]=29
    for i in range(1,month):
        if month == 1:
            print day
        whichday=whichday+list[i-1]
    whichday=whichday+day
    print whichday

if __name__ == "__main__":
    year=int(raw_input("請輸入年份:"))
    month=int(raw_input("請輸入月份:"))
    day=int(raw_input("請輸入天:"))
    which_day(year, month, day)

執行結果:

請輸入年份:2017
請輸入月份:3
請輸入天:31
90

總結:

1、閏年的判斷為能被4整除,但不能被100整除,或者能被400整除

剛開始三者都寫成了and

2、關於list[i-1]剛開始寫成了i-2,對於某些時期恰好是正確的,是因為成了list[-1]時從結尾開始取值