没有' abs'如何获得绝对价值?功能?

时间:2016-07-26 10:16:48

标签: function python-3.x

def my_abs(value):
"""Returns absolute value without using abs function"""
    if value < 5 :
        print(value * 1)
    else:
        print(value * -1)
print(my_abs(3.5))

这是我的代码到目前为止,但测验打印,例如-11.255和200.01,并希望相反,例如它想要11.255和-200.01

5 个答案:

答案 0 :(得分:1)

5与绝对值有什么关系?

遵循你的逻辑:

def my_abs(value):
    """Returns absolute value without using abs function"""
    if value <= 0:
        return value * -1
    return value * 1

print(my_abs(-3.5))
>> 3.5
print(my_abs(3.5))
>> 3.5

其他更短的解决方案也存在,可以在其他答案中看到。

答案 1 :(得分:0)

有理数的简单解决方案是

def my_abs(value):
    if value<0:
        return -value
    return value

答案 2 :(得分:0)

您为什么要查看if value < 5

无论如何,复制abs功能:

def my_abs(value):
    return value if value >=0 else -1 * value 

答案 3 :(得分:0)

到目前为止,解决方案未考虑带符号的零。在所有这些参数中,输入0.0或-0.0都将导致-0.0。

这是一个简单且正确的解决方案:

def my_abs(value):
    return (value**2)**(0.5)

答案 4 :(得分:-1)

num = float(input("Enter any number: "))
if num < 0 :
    print("Here's the absolute value: ", num*-1)
elif num == 0 :
    print("Here's the absolute value: 0")
elif num > 0 :
    print("Here's the absolute value: ", num)