如何使用“step”参数创建floor函数

时间:2010-08-12 22:48:20

标签: python algorithm math

我想创建一个函数floor(number,step),其行为如下:

floor(0, 1) = 0
floor(1, 1) = 1
floor(1, 2) = 0
floor(5, 2) = 4
floor(.8, .25) = .75

做出类似事情的更好方法是什么?

感谢。

3 个答案:

答案 0 :(得分:6)

您可以执行floor( val / step ) * step

之类的操作

答案 1 :(得分:2)

你想要的基本上与

相同

step * (x // step)

不是吗?

答案 2 :(得分:1)

下面代码中的某些内容应该可以胜任。

def stepped_floor (n, step=1):
    return n - (n % step)