python - 绝对值查找器的娱乐没有按预期工作
问题描述
我编写了一个代码,它给出了任何数字的绝对值,这里是代码:
def absolute(num):
numb = str(num)
numb.replace("-","")
numb = int(numb)
return numb
使用时,它给出相同整数的输出:
>>> absolute(-12)
-12
当我逐步执行该函数时,我发现 int 函数中存在字符串“12”转换为-12的问题
我知道制作这个的其他方法,但如果你能解释为什么会发生这种情况,那会更好,因为我能理解发生了什么。
谢谢!
解决方案
在这里,您不将.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)
推荐阅读
- facebook - 如何集成 Facebook Messenger 群组对话?
- docker - Docker 绑定挂载目录中的文件未更新
- jmeter - 如何在仪表板页面中动态获取 Jmeter 版本和 Java 版本
- json - 如何使用 shell jq 动态解析 JSON 对象
- android - webview 弹出窗口中的内容隐藏在键盘后面(请阅读特殊情况)
- python - 为什么存在参数时 Django 2.1 login_required 不起作用
- php - 需要一些关于 php curl 的信息
- html - Html CSS 表单改变背景
- regex - Pyspark 路径正则表达式负前瞻
- sql - 使用分区查询复制数据