首页 > 解决方案 > python中输出-1或0或1的函数

问题描述

是否有一个(修改后的)圆形函数,其中输出可能是 -1,0,1,具体取决于输入最接近的数字是多少?例如0 => 0, -2154 => -1, 10 => 1

目前我正在使用正常的 if else 语句:

if (i==0):
    return 0
elif i > 0: 
    return 1
else:
    return -1

但是有什么办法可以使它成为单行代码吗?例如使用一些修改后的轮函数。

标签: pythonfunctionif-statementrounding

解决方案


您可以使用numpy.sign()

import numpy as np

print(np.sign(1.2))
print(np.sign(-3.4))
print(np.sign(0))

输出:

1.0
-1.0
0

没有任何进口:

def sign(i):
    return (i>0) - (i<0)
    
print(sign(1))
print(sign(-3))
print(sign(0))

输出:

1
-1
0

推荐阅读