我正在制作一个日程表应用程序,我需要一种方法来分类每个区块的天数范围。天数标记为整数:
MON, TUE, WEN, THU, FRI, SAT, SUN
是0, 1, 2, 3, 4, 5, 6
假设我安排了一个从周二开始到周五结束的街区。 确定其范围很容易:
range(block.start_day, block.end_day +1)
会给我(1, 4)
。在
但如果一个街区从周六开始到周三结束,那就行不通了。在
我需要的结果是(5, 6, 0, 1, 2)
。在
我有点困在这部分了。我想我可以用模运算符,但我不确定。在
**编辑** 抱歉,我已经更新了正确的期望输出。在
使用Python2.7.6
你可以做的一件事是使用条件逻辑:
我相信这里有人能想出一个更优雅的解决方案,但这让你开始了。在
为了彻底起见,我相信在python3中也可以实现同样的事情(range生成迭代器,而不是列表),使用}来连接{}和{}。在
itertools.chain
而不是{处理奇数范围的一种方法是实现自定义范围函数:
结果:
^{pr2}$days(5, 3)
返回[5, 6, 0, 1, 2, 3]
days(3, 5)
返回[3, 4, 5]
相关问题 更多 >
编程相关推荐