在 Python 中使用數字
除了核心算術之外,您還可以對數字使用其他運算。 您可能需要執行四捨五入,或將字串轉換成數字。
在本課程模組的案例中,您想要接受來自使用者的輸入。 輸入的內容會是字串而非數字,因此您必須將其轉換成數字。 此外,使用者輸入的值還可能會讓您得到負數解,而您不想要將其顯示出來。 您可能需要將答案轉換為絕對值。 幸運的是,Python 提供了公用程式來處理這些運算。
將字串轉換為數字
Python 主要支援兩種數字:整數 (或 int
),以及浮點數 (或 float
)。 兩者之間的主要差異在於小數點的存在;整數 (integer) 是整數 (whole number),浮點數則包含小數值。
當您將字串轉換成數字時,您要指出想要建立的數字類型。 您必須決定是否需要小數點。 您可以使用 int
來轉換成整數,以及使用 float
來轉換成浮點數。
demo_int = int('215')
print(demo_int)
demo_float = float('215.3')
print(demo_float)
215
215.3
重要
如果您針對 int
或 float
使用不正確的值,則會收到錯誤。
絕對值
在數學中,絕對值是沒有正負號的非負數。 在不同的情況下,使用絕對值可能會很有用,包括我們所舉出想要判斷兩顆行星之間距離的範例。 請考慮下列數學:
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
可讓您使用 floor
和 ceil
來執行四舍五入、提供 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