Python入门问题:if语句未正确计算输入整数的绝对值
解决Python绝对值输出问题的小细节
Hey,别着急!我瞅了下你的代码,其实逻辑本身没毛病,问题出在一个很容易忽略的小细节上——你没把处理后的结果打印出来!
先看你现在的代码:
number = int(input('Please enter a number: ')) if number <= 0: number = number * -1
这段代码确实会把负数(包括0)转换成对应的正数,但你只是修改了number变量的值,却没有把最终结果输出到控制台,所以你看不到变化,误以为if语句没执行。
快速修复方案
只需要在代码末尾加上一行打印语句,把处理后的number输出即可:
number = int(input('Please enter a number: ')) if number <= 0: number = number * -1 print(number) # 输出最终的绝对值结果
现在你再输入负数试试,就能看到正确的正数结果啦!
更简洁的写法:用Python内置函数
其实Python已经内置了求绝对值的abs()函数,完全不用自己写判断逻辑,一行代码就能搞定:
number = int(input('Please enter a number: ')) print(abs(number))
这个函数不仅能处理整数,还能处理浮点数,适用性更广,也更不容易出错~
内容的提问来源于stack exchange,提问作者Renaissance Man




