作者truestone (The end of the world)
看板Python
標題[問題] 請教判斷月份回傳布林值問題
時間Wed May 22 15:21:00 2019
我是python新手,請各位大大多多指教!
我有一個input是讓人選擇a月~b月,例如:a=2,b=4,得到(2,3,4)。
但今天有可能出現a=11,b=3,得到(11,12,1,2,3),如果這結果叫做Months。
我想要得到一個時間序列 T=[
datetime(2019,11,1,0,0),datetime(2019,12,1,0,0),
datetime(2020,1,1,0,0),datetime(2020,2,1,0,0),datetime(2020,3,1,0,0)]
所以我希望有一個f判斷式可以幫助我去迴圈M時,
可以依序丟出(False,False,True,True,True),
當f=False時,T.append(datetime(year, Months, 1))
當f=True時,T.append(datetime(year + 1, Months, 1))
我現在卡在不知道該怎麼寫出這個判斷式f.....
可以請前輩指定迷津一下嗎?謝謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.213.82
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1558509675.A.4B4.html
推 TitanEric: 為什麼11 12月要用false 其他是true? 05/22 15:36
我再重新修正一下我的問題。
※ 編輯: truestone (114.34.213.82), 05/22/2019 16:03:45
→ truestone: YA~我做出來了!用了index去抓位置就可以同時有Months 05/22 16:47
→ adrianshum: 搞得太複雜了吧。我的話會乾脆吧11..3 轉化成11..15, 05/23 09:28
→ adrianshum: 然後每個對應的date 就單純是 (year + (i+1)/12, (i+1 05/23 09:28
→ adrianshum: ) %12, 1) 05/23 09:28
→ adrianshum: 手快寫錯了:年是 year + (i-1)/12, 月份是 (i-1)%12+ 05/23 09:42
→ adrianshum: 1 05/23 09:42
→ adrianshum: t = [ datetime(year+(i-1)//2, (i-1)%12+1, 1) for i 05/23 10:00
→ adrianshum: in range(a, b if b>=a else b+12)] 05/23 10:00