python3題解 (39 N天後的日期)

2021-09-29 04:38:32 字數 1147 閱讀 9337

【問題】給定乙個日期,求它的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,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任...