首页 > 解决方案 > 绝对值查找器的娱乐没有按预期工作

问题描述

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

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

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

>>> absolute(-12)
-12

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

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

谢谢!

标签: pythonpython-3.xfunctionabsolute-value

解决方案


在这里,您不将.replace返回值分配回变量:

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)

推荐阅读