如何创建一个带有“步长”参数的向下取整函数

4
我想创建一个函数 floor(number, step),其功能类似于:
floor(0, 1) = 0
floor(1, 1) = 1
floor(1, 2) = 0
floor(5, 2) = 4
floor(.8, .25) = .75

这样做有更好的方法吗?
谢谢。

在你的示例中,步骤是否总是2的幂? - Stephen Canon
不需要特定的数值,可以是任何数字 :) - Ttuff
3个回答

6
您可以使用类似 floor( val / step ) * step 的方式实现。

2
你想要的基本上与 step * (x // step) 是一样的,对吧?

1

以下代码应该可以完成这项工作。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接