绝对值查找器的娱乐没有按预期工作
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)
我缩短了别人给你的答案。当我计时的时候它有点慢,但我相信它应该可以正常工作。 :)
【讨论】:
以上是关于绝对值查找器的娱乐没有按预期工作的主要内容,如果未能解决你的问题,请参考以下文章