看板 Python 關於我們 聯絡資訊
我是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