Python源代碼如下:
# -*- coding: UTF-8 -*- """ 簡述:要求輸入某年某月某日 提問:求判斷輸入日期是當年中的第幾天? Python解題思路分析: 我們就以3月5日這一天為例。首先把前兩個月的加起來,然后再加上5天即本年的第幾天。 這里有一種特殊的情況,就是閏月,遇到這種情況且輸入月份大於2時需考慮多加一天 """ year = int(input('請輸入年份:\\n')) month = int(input('請輸入月份(1-12):\\n')) day = int(input('請輸入日期:\\n')) months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334) # 定義list,每個月份事本年的天數 if 0 < month <= 12: sum = months[month - 1] # 通過下標獲取月份的天數 sum += day # 用月份獲取出來的天數加上日 leap = 0 # 定義變量用於判斷閏年 if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): # 滿足其中兩個條件,則本年未閏年 leap = 1 if (leap == 1) and (month > 2): # 若為閏年,且月份必須大於2月 sum += 1 print('這是本年中的第%s天.' % sum) else: print('月份輸入錯誤')
運行結果:
請輸入年份: 18 請輸入月份(1-12): 11 請輸入日期: 23 這是本年中的第327天.