1.0可以說使用「最笨」的方法得到日期是本年度的第幾天,下面逐漸地改進方法,使用最簡潔的**來得到我們想要的東西。
使用列表代替元組:
首先,使用函式封裝判斷是否閏年的部分**;
其次,使用列表代替元組,更新2月份的天數,減少判斷條件;
最後,整體規範**,使用{}佔位符,使得輸入結果更美觀。
"""
版本:2.0
日期:2019-06-12
功能:輸入某年某月某日,判斷這一天是這一年的第幾天?
增加功能:使用列表代替元組
"""from datetime import datetime
def is_leap_year(year):
"""判斷year是否為閏年
是,返回true
否,返回false
"""is_leap = false
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
is_leap = true
return is_leap
def main():
"""主函式
"""input_date_str = input('請輸入日期(yyyy/mm/dd):')
input_date = datetime.strptime(input_date_str, '%y/%m/%d')
# print(input_date)
year = input_date.year
month = input_date.month
day = input_date.day
# 計算之間月份天數的總數以及當前月的天數
days_in_month_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if is_leap_year(year):
days_in_month_list[1] = 29
days = sum(days_in_month_list[: month - 1]) + day
print('這是{}年的第{}天'.format(year, days))
Python的學習筆記案例5 判斷第幾天3 0
v3.0本節課介紹集合的概念 python中的集合 set 型別同數學中的集合概念一致,即包含0或多個資料項的無序組合。集合中的元素不可重複 集合是無序組合,沒有索引和位置的概念 set 函式用於集合的生成,返回結果時乙個無重複且排序任意的集合 集合通常用於表示成員間的關係 元素去重 集合操作 含義...
python類的學習 5 綜合案例解析
基本思路 對列表進行封裝和二次開發,通過在列表尾部追加和刪除元素來模擬棧的入棧和出棧操作。如果棧內部封裝的列表中元素數量達到容量的限制則表示已滿,如果列表為空則表示棧已空。改變棧的大小時,如果新的大小比棧中已有的元素數量還小,則拒絕該操作。class stack 構造方法 def init self...
Python 學習筆記 5
今天從25章開始 p652 學習 python 的 oop 用 看起來更直觀 class class a def init self,value 建構函式 self.data value def add self,other 運算子過載 return class a self.data other ...