绝对值查找器的娱乐没有按预期工作

Posted

技术标签:

【中文标题】绝对值查找器的娱乐没有按预期工作【英文标题】:recreation of absolute value finder not working as intended 【发布时间】:2020-11-27 04:03:53 【问题描述】:

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

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

使用时会输出相同的整数:

>>> absolute(-12)
-12

当我一步一步做这个函数时,我发现 int 函数中存在字符串“12”转换为 -12 的问题

我知道其他方法可以做到这一点,但如果你能解释为什么会发生这种情况,那会更好,因为我能理解发生了什么。

谢谢!

【问题讨论】:

【参考方案1】:

这里你没有将.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)

【讨论】:

numb = numb.replace是一个错字。我会改的 我知道 abs,我只是想重新创建它【参考方案2】:
absolute = lambda x : int(str(x).replace('-',''))
absolute(-5)

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

【讨论】:

以上是关于绝对值查找器的娱乐没有按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

git忽略异常没有按预期工作

位置绝对父级在 FireFox 中没有子图像的宽度

animate() 和 fadeIn() 无法按预期工作

表格单元格内的css绝对位置:奇怪的Firefox显示

MySQL-ALIAS的总和未按预期工作

查找 SQL 表之间的差异