绝对值查找器的娱乐不能按预期工作

recreation of absolute value finder not working as intended

我已经编写了一个代码,它给出了任何数字的绝对值,这里是代码:

def absolute(num):
    numb = str(num)
    numb.replace("-","")
    numb = int(numb)
    return numb

使用时,它给出相同整数的输出:

>>> absolute(-12)
-12

当我逐步执行该函数时,我发现 int 函数存在问题,其中字符串“12”被转换为 -12

我知道其他制作方法,但如果你能解释为什么会这样,那会更好,因为我能理解会发生什么。

谢谢!

此处您不将 .replace return 值分配回变量:

def absolute(num):
    numb = str(num)
    numb = numb.replace("-","")
    numb = int(numb)
    return numb

简而言之:

def absolute(num):
    return int(str(num).replace('-',''))

还有一件奇怪的事,你不知道 abs() LOL 吗?

abs(-12)
absolute = lambda x : int(str(x).replace('-',''))
absolute(-5)

我缩短了别人给你的答案。当我计时时它有点慢,但我相信它应该工作正常。 :)