在 Python 中使用数字

已完成

除了核心算法以外,还可以对数字使用其他运算。 可能需要执行舍入或将字符串转换为数字。

在本模块的方案中,你希望接受来自用户的输入。 输入将是一个字符串而不是数字,因此需要将其转换为数字。 此外,用户输入的答案可能是负数,而你不想显示这些值。 你可能需要将答案转换为绝对值。 幸运的是,Python 为这些运算提供了实用程序。

将字符串转换为数字

Python 支持两种主要类型的数字:整数(或 int)和浮点(或 float)。 二者之间的主要区别在于是否存在小数点;整数是整值,而浮点包含小数值。

将字符串转换为数字时,需要指定要创建的数字的类型。 必须确定是否需要小数点。 使用 int 将转换为整数,而使用 float 将转换为浮点数。

demo_int = int('215')
print(demo_int)

demo_float = float('215.3')
print(demo_float)
215
215.3

重要

如果为 intfloat 使用了无效的值,则会发生错误。

绝对值

数学中的绝对值是没有符号的非负数。 在不同情况下,使用绝对值会很有用,其中包括用于确定两个行星之间距离的示例。 请考虑下面的数学运算:

print(39 - 16)
print(16 - 39)

请注意,这两个方程之间的区别在于数字是相反的。 答案分别为 23-23。 在确定两个行星之间的距离时,数字的输入顺序并不重要,因为绝对答案是相同的。

使用 abs 将负值转换为其绝对值。 如果使用 abs 执行相同的操作(并输出答案),你会注意到这两个公式的结果都显示为 23

print(abs(39 - 16))
print(abs(16 - 39))
23
23

舍入

名为 round 的内置 Python 函数也很有用。 如果小数值大于 .5,则使用它可向上舍入到最接近的整数;如果小数值小于 .5,则使用它可以向下舍入。 如果十进制值等于 .5,则函数将向上或向下舍入到最接近的偶数整数。

print(round(1.4))
print(round(1.5))
print(round(2.5))
print(round(2.6))
1
2
2
3

数学库

Python 中有一些库,可提供更高级的运算和计算。 最常见的一种是 math 库。 math 允许你使用 floorceil 执行舍入、提供 pi 的值以及许多其他运算。 让我们来看看如何使用这个库进行向上或向下舍入。

舍入数字让你能够去掉浮点的小数部分。 可以选择始终使用 ceil 向上舍入到最接近的整数,或者使用 floor 向下舍入。

from math import ceil, floor

round_up = ceil(12.5)
print(round_up)

round_down = floor(12.5)
print(round_down)
13
12