首页 > 解决方案 > 执行除法运算时,如何使该算法返回整数?

问题描述

该算法以浮点数返回值。任何人都可以建议使其仅返回整数/值所需的更改吗?

def zero(f = None): return 0 if not f else f(0)
def one(f = None): return 1 if not f else f(1)
def two(f = None): return 2 if not f else f(2)
def three(f = None): return 3 if not f else f(3)
def four(f = None): return 4 if not f else f(4)
def five(f = None): return 5 if not f else f(5)
def six(f = None): return 6 if not f else f(6)
def seven(f = None): return 7 if not f else f(7)
def eight(f = None): return 8 if not f else f(8)
def nine(f = None): return 9 if not f else f(9)

def plus(y): return lambda x: x+y
def minus(y): return lambda x: x-y
def times(y): return lambda  x: x*y
def divided_by(y): return lambda  x: x/y

一个例子:

one(divided_by(four())) 

这返回 0.25 但我希望它在不使用 floor 运算符的情况下返回 0。

标签: pythonalgorithmfunction

解决方案


如果您的意思absolute value是整数部分,您可以使用整数除法而不是普通除法。如@Daniel 在评论中建议的,您可以替换x/yx//y.

此外,由于您有正数,您可以使用 fromnumpy.fix代替。因此,它将是numpy.fix(x/y)


推荐阅读