python-用函數實現輸入某年某月某日,判斷這一天是這一年的第幾天?閏年情況也考慮進去


今天看到一個題目“用函數實現輸入某年某月某日,判斷這一天是這一年的第幾天?閏年情況也考慮進去”,用python來寫,編寫思路是:

1、先輸入一個日期,然后根據日期獲取對應的年、月、日

2、將月份及每個月份對應的天數存放在一個字典中

3、判斷輸入的年份是否為閏年,若為閏年則修改二月份的天數為29天

4、最后根據月、日計算天數

實現代碼如下:

# 判斷是否是閏年
def leap_year(year_one):
    if (year_one % 400 == 0) or (year_one % 4 == 0 and year_one % 100 != 0):
        return True
    else:
        return False


# 用函數實現輸入某年某月某日,判斷這一天是這一年的第幾天?閏年情況也考慮進去
def year_day():
    str_ymd = input("請輸入一個日期(eg:20160818):")
    str_y = int(str_ymd[0:4])  # 獲取年份
    str_m = int(str_ymd[4:6])  # 獲取月份
    str_d = int(str_ymd[6:8])  # 獲取日
    str_day = 0  # 定義第幾天
    # 定義一般情況下對應月份的天數
    disc_day = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
    # 如果是閏年,2月份的天數修改為29天
    if leap_year(str_y):
        disc_day[2] = 29
    for i in range(1, str_m):
        str_day += disc_day[i]
    str_day = str_day + str_d
    print("%s是%d年的第%d天" % (str_ymd, str_y, str_day))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM