python學習筆記(判斷第幾天)

2021-09-27 23:39:31 字數 4153 閱讀 8492

判斷第幾天1.0+2.0

判斷第幾天3.0

判斷第幾天4.0

課後練習

"""

功能:判斷第幾天

版本:1.0+2.0

日期:2019/10/7 9:25

指令碼:1.0.py

新增:用tuple替換list

"""import datetime

import math

defmain()

:"""

主函式"""

input_date_str =

input

("請輸入日期:(格式:***x/xx/xx)"

) get_date = datetime.datetime.strptime(input_date_str,

'%y/%m/%d'

)# 非閏年列表

month_list =[31

,28,31

,30,31

,30,31

,31,30

,31,30

,31]# 非閏年元組

month_tuple =(31

,28,31

,30,31

,30,31

,31,30

,31,30

,31)# 得到年,月,日

which_year = get_date.year

which_month = get_date.month

which_day = get_date.day

# 計算非閏年的總天數

# total_day = math.fsum(month_list[:(which_month - 1)]) + which_day

total_day = math.fsum(month_tuple[

:(which_month -1)

])+ which_day

# 判斷是否是閏年

if(which_year %

400==0)

or((which_year %

100!=0)

and(which_year %4==

0)):

if which_month >=3:

# 如果閏年月份在三月以後的才能加1

total_day +=

1print

("這是{}年的第{}天。"

.format

(which_year, total_day)

)if __name__ ==

'__main__'

: main(

)

"""

功能:判斷第幾天

版本:3.0

日期:2019/10/7 10:28

指令碼:3.0.py

新增:將月份劃分為不同的集合再操作

"""import datetime

defmain()

:"""

主函式"""

input_date_str =

input

("請輸入日期:(格式:***x/xx/xx)"

) get_date = datetime.datetime.strptime(input_date_str,

'%y/%m/%d'

)# 31天的集合

_31day_set =

# 30天的集合

_30day_set =

# 得到年,月,日

which_year = get_date.year

which_month = get_date.month

which_day = get_date.day

# 計算非閏年的總天數

total_day =

0 total_day += which_day

for month in

range(1

, which_month)

:if month in _31day_set:

total_day +=

31elif month in _30day_set:

total_day +=

30else

: total_day +=

28# 判斷是否是閏年

if(which_year %

400==0)

or((which_year %

100!=0)

and(which_year %4==

0)):

if which_month >=3:

# 如果閏年月份在三月以後的才能加1

total_day +=

1print

("這是{}年的第{}天。"

.format

(which_year, total_day)

)if __name__ ==

'__main__'

: main(

)

字典(dict)以鍵為索引,乙個鍵對應乙個值

字典型別資料是無序的

字典的一些操作

訪問某個值

刪除某項

key 是否在字典中

字典的遍歷

遍歷所有vlaue

遍歷所有key和對應的value,即所有資料項

"""

功能:判斷第幾天

版本:4.0

日期:2019/10/7 11:01

指令碼:4.0.py

新增:將月份及其對應天數通過字典表示

"""import datetime

defmain()

:"""

主函式"""

input_date_str =

input

("請輸入日期:(格式:***x/xx/xx)"

) get_date = datetime.datetime.strptime(input_date_str,

'%y/%m/%d'

)# 月份的字典

month_dict =

# 得到年,月,日

which_year = get_date.year

which_month = get_date.month

which_day = get_date.day

# 計算非閏年的總天數

total_day =

0 total_day += which_day

for month in

range(1

, which_month)

: total_day += month_dict[month]

# 判斷是否是閏年

if(which_year %

400==0)

or((which_year %

100!=0)

and(which_year %4==

0)):

if which_month >=3:

# 如果閏年月份在三月以後的才能加1

total_day +=

1print

("這是{}年的第{}天。"

.format

(which_year, total_day)

)if __name__ ==

'__main__'

: main(

)

"""

功能:一行**得到一年中的第幾天

版本:日期:2019/10/7 19:41

指令碼:one_code.py

"""import time

defmain()

: input_date_str =

input

("請輸入日期:(格式:***x/xx/xx)"

) which_day = time.strptime(input_date_str,

"%y/%m/%d"

)print

(which_day.tm_yday)

if __name__ ==

'__main__'

: main(

)

Python的學習筆記案例5 判斷第幾天2 0

1.0可以說使用 最笨 的方法得到日期是本年度的第幾天,下面逐漸地改進方法,使用最簡潔的 來得到我們想要的東西。使用列表代替元組 首先,使用函式封裝判斷是否閏年的部分 其次,使用列表代替元組,更新2月份的天數,減少判斷條件 最後,整體規範 使用 佔位符,使得輸入結果更美觀。版本 2.0 日期 201...

Python的學習筆記案例5 判斷第幾天3 0

v3.0本節課介紹集合的概念 python中的集合 set 型別同數學中的集合概念一致,即包含0或多個資料項的無序組合。集合中的元素不可重複 集合是無序組合,沒有索引和位置的概念 set 函式用於集合的生成,返回結果時乙個無重複且排序任意的集合 集合通常用於表示成員間的關係 元素去重 集合操作 含義...

C C 學習 判斷某日是當年第幾天

學期末兩周實訓,老師布置若干題目。其中,第一題為 判斷某日是當年第幾天。問題描述 用結構體表示日期,輸入乙個日期 年 月 日 計算從輸入這年的1月1日到輸入的日期的總天數days並輸出。1.設計結構體 結構體中包含三個成員,分別為整型的年 月 日。struct date 2.日期輸入設計 這裡按照常...