在Python中计算绝对值

8

我该如何在Python中编写一个程序,让它要求输入一个浮点数并计算其绝对值?我已经尝试了输入操作,但是无法正确计算绝对值。


5
绝对值等于非绝对值取绝对值的结果。 - jonrsharpe
1个回答

25

你可以使用内置的abs()函数来实现:

absolute_val = abs(x)

否则,如果没有内置函数,则使用 math:
absolute_val = (x ** 2) ** 0.5

7
x if x >= 0 else -x的翻译是“如果x大于或等于0,则返回x,否则返回-x。”在浮点数上使用平方和平方根可能更慢且更容易因精度而导致不准确的答案。 - zstewart
我进行了一些快速测试,实际上我还没有找到一个值,使得(x**2)**5 != abs(x),所以我想那是可用的,但是在可以使用简单的if/else解决问题的情况下使用浮点运算似乎不是一个好主意。 - zstewart
2
@zstewart abs()函数怎么样?那个可能比较可靠。我添加的另一个只是作为“有趣的事实”。 - user3917838
你说的 abs 是什么意思?当然, abs 是可靠的,因为它是内置函数,那就是它的作用。我进行的测试大致如下:all(((x**2)**0.5) == abs(x) for x in np.arange(-1954799126841, -1954799126851, -0.0001)) - zstewart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接