【問題】給定乙個日期,求它的n天後是什麼日期。
分析:並不需要呼叫關於日期的api。只要不斷地求某一天的後一天是什麼日期就可以了。
不是當月的最後一天,則直接 day + 1
如果是最後一天,則變成下乙個月的第一天。
### n天後的日期
defndays
(date, n)
:def
leap_year
(year)
:return
(year %4==
0)and(year %
100!=0)
or(year %
400==0)
deflast_day
(year, month)
:if month ==2:
return
29if leap_year(year)
else
28if month in[1
,3,5
,7,8
,10,12
]:return
31return
30def
next_day
(year, month, day)
:if day == last_day(year, month)
:if month==12:
return
(year+1,
1,1)
else
:return
(year, month+1,
1)return
(year, month, day+1)
for i in
range
(n):
date = next_day(
*date)
return date
if __name__ ==
'__main__'
:print
(ndays(
(1988,12
,25),
1234
))
last_day函式求某個月的天數,也就是最後一天的 day值。
next_day 的輸入是 3 個引數,其返回值是乙個 tuple,
這樣在迭代時需要 *date 把tuple 展開為分散的引數。
python3安裝 Python3的安裝
1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...
python3的樣子 python3 基礎
第一周 語言基礎 一 python是一門什麼樣的語言?解釋型動態型別強型別定義語言。二 python2和3的主要區別?1 python3裡可以直接預設寫中文,然後python2裡是不能直接寫的。2 python2裡print不用加括號,可直接寫字串,也可以加 python3裡printi必須要加括號...
Python3程式設計題解 校門外的樹
某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是11公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸00的位置,另一端在ll的位置 數軸上的每個整數點,即0,1,2,l0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任...