Ros*_*rup 15 python datetime python-2.7
有很多人围绕到最近的十分钟的例子,但我无法弄清楚四舍五入到最接近的六分之一的逻辑.我认为这将是一个转换几个数字的问题,但我不能让它工作.
我正在使用的代码位于我的Github.我得到的块甚至没有接近工作(不会给出任何输出)是:
def companyTimer():
if minutes % 6 > .5:
companyMinutes = minutes + 1
elif minutes % 6 < 5:
companyMinutes = minutes - 1
else:
companyMinutes = minutes
print companyMinutes
Run Code Online (Sandbox Code Playgroud)
现在看一下,我看到我的逻辑是不正确的 - 即使它正在工作,代码的加1和减1分是没有意义的.
无论如何,我不知道如何解决这个问题 - 有人能指出我正确的方向吗?
PS - 这是我在工作中为个人使用而制作的东西..不要求我的工作帮助,但这将帮助我跟踪我的工作时间.不希望有任何问题.
谢谢!
tza*_*man 20
这是一个舍入到最近的一般函数x:
def round_to_nearest(num, base):
n = num + (base//2)
return n - (n % base)
[round_to_nearest(i, 6) for i in range(20)]
# [0, 0, 0, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 18, 18, 18, 18, 18]
Run Code Online (Sandbox Code Playgroud)
说明:
n % base是将当余留下来n的base.也称为模运算符. num%6从num会给你0 0-5,6 6-11,等等.base//2预先添加一半base()来偏置此结果.| 归档时间: |
|
| 查看次数: |
1441 次 |
| 最近记录: |