0: return x - y e-6ren">
gpt4 book ai didi

python - 命名建议 "subtract absolute"类型函数

转载 作者:行者123 更新时间:2023-11-30 23:29:30 25 4
gpt4 key购买 nike

是否存在标准函数或数学命名约定,该函数始终将第一个输入向 0 移动第二个输入的量。

def reduce(x, y):
if x > 0:
return x - y
elif x < 0:
return x + y
else:
return 0

这似乎是一个非常基本的操作,但我找不到任何示例。

如果 y 为负数,它将远离 0。如果 y > x,返回值将具有与 x 相反的符号(超过 0)。

最佳答案

我将调用该函数shift_towards_zero(number, delta)。这类似于“向零舍入”或“远离无穷大舍入”。请参阅http://en.wikipedia.org/wiki/Rounding#Round_half_towards_zero 。据我所知,此功能并未内置到 math 库中。你需要自己动手。不要将函数命名为 reduce,因为这是 Python 中的内置函数。

这是我编写该函数的方式:

def shift_towards_zero(number, delta):
return sign(number) * (abs(number) - delta)

该函数的行为方式如下:

  • 如果 delta 为正,则向零移动。
  • 如果 delta 为负,则远离零
  • 如果 number 为零,则返回零,因为 number 没有符号
  • 如果abs(delta)>abs(number),结果将具有与number相反的符号(超过零)

这是该函数的输入/输出表

number  delta result
5 1 4 #delta>0 means shift toward zero
5 11 -6 #overshoot
5 -1 6 #delta<0 means shift away from zero
5 -11 16
-5 1 -4
-5 11 6 #overshoot
-5 -1 -6
-5 -11 -16
5 0 5
-5 0 -5
0 1 0 #shift direction is undefined
0 11 0
0 -1 0
0 -11 0
0 0 0

关于python - 命名建议 "subtract absolute"类型函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21157119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com