判斷第幾天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.日期輸入設計 這裡按照常...