作者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://webptt.com/cn.aspx?n=bbs/Python/M.1558509675.A.4B4.html
1F:推 TitanEric: 为什麽11 12月要用false 其他是true? 05/22 15:36
我再重新修正一下我的问题。
※ 编辑: truestone (114.34.213.82), 05/22/2019 16:03:45
2F:→ truestone: YA~我做出来了!用了index去抓位置就可以同时有Months 05/22 16:47
3F:→ adrianshum: 搞得太复杂了吧。我的话会乾脆吧11..3 转化成11..15, 05/23 09:28
4F:→ adrianshum: 然後每个对应的date 就单纯是 (year + (i+1)/12, (i+1 05/23 09:28
5F:→ adrianshum: ) %12, 1) 05/23 09:28
6F:→ adrianshum: 手快写错了:年是 year + (i-1)/12, 月份是 (i-1)%12+ 05/23 09:42
7F:→ adrianshum: 1 05/23 09:42
8F:→ adrianshum: t = [ datetime(year+(i-1)//2, (i-1)%12+1, 1) for i 05/23 10:00
9F:→ adrianshum: in range(a, b if b>=a else b+12)] 05/23 10:00