在 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

重要

如果您針對 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 有程式庫可提供更進階的運算和計算。 最常見的其中一個程式庫是 mathmath 可讓您使用 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