1. 程式人生 > >【Python】Python_learning5:使用python計算生日日期

【Python】Python_learning5:使用python計算生日日期

Python_Learning5

  • 題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
  • 程式分析:
  •                 1> 年:平年2月28;閏年2月29;
  •                 2> 月:注意月在閏年還是平年,並且每個月的天數不一樣;
  •                             1-3-5-7-8-10-12為31天;
  •                                 4-6-9-11都是30日;  
  •                             Example:以3月13日為例,應該先把前兩個月的加起來,然後再加上13天即本年的第幾天,特殊情況,
    閏年且輸入月份大於3時需考慮多加一天:
  • ------------------------------------------------------------------------------------------------------------------------------------

Code ResourceListing

#!/usr/bin/python
# -*- coding: UTF-8 -*-    %<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">如果要在python2的py檔案裡面寫中文,則必須要新增一行宣告檔案編碼的註釋,</span><span style="font-family: Arial; font-size: 14px;">否則python2會預設使用ASCII編碼。</span>
year = int(input('year年:\n'))     #定義整型變數year
month = int(input('month月:\n'))  #定義整型變數month
day = int(input('day日\n'))        #定義整型變數day
months = (0,31,59,90,120,151,181,212,243,273,304,334)  #月的天數, 按月遞增,months=前面月份天數之和
if 0 < month < 12:   #從1月份到11月份
#if 0 <= month <= 12:
    sum = months[month - 1]
else:
    print('error data')
sum += day          #前面所有的月份天數之和 加上 當月天數
leap = 0       #這個值為平年和閏年做準備
if(year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):  
    leap = 1
if(leap == 1)and (month > 2):
    sum + = 1
print('it is the %dth day.' %sum)
  • -----------------------------------------------------------------------------------------------------------------------------------