使用清單中的數字

已完成

到目前為止,您都在清單中使用行星名稱。 您可能想知道使用其他資料類型的情況,例如數字。

您知道其他行星上的重力強弱是取決於行星的重量或大小嗎? 重力通常以「G」來測量,其中地球的重力是 1,而其他行星則是以相對於地球的方式來測量。

月球上的重力是 0.166 G,所以太空人可以在月球上跳得這麼高。 海王星上的重力是 1.12 G,因此比較難跳躍。 即使是傑出的運動員,也很難在海王星上跳超過 2 公尺。

Neptune as seen from Voyager 2 from 4.4 million miles, image credit NASA.

在清單中儲存數字

若要在 Python 中儲存含有小數位的數字,請使用 float 類型。 若要建立浮點數,請輸入含有小數位的數字,並將其指派給變數:

gravity_on_earth = 1.0
gravity_on_the_moon = 0.166

下列程式碼會建立一份清單,以 G 顯示太陽系中所有八個行星的重力:

gravity_on_planets = [0.378, 0.907, 1, 0.377, 2.36, 0.916, 0.889, 1.12]

在此清單中,gravity_on_planets[0] 是水星的重力 (0.378 G),gravity_on_planets[1] 是金星的重力 (0.907 G),依此類推。

在地球上,雙層巴士的重量為 124,054 牛頓 (N)。 在重力 0.378 G 的水星上,相同的巴士重量為 124,054 牛頓乘以 0.378。 在 Python 中,若要乘以兩個值,請使用 * 符號。

在下列範例中,您可以從清單中取得值,來算出雙層巴士在不同行星上的重量:

gravity_on_planets = [0.378, 0.907, 1, 0.377, 2.36, 0.916, 0.889, 1.12]
bus_weight = 124054 # in Newtons, on Earth

print("On Earth, a double-decker bus weighs", bus_weight, "N")
print("On Mercury, a double-decker bus weighs", bus_weight * gravity_on_planets[0], "N")
On Earth, a double-decker bus weighs 124054 N
On Mercury, a double-decker bus weighs 46892.4 N

搭配清單使用 min()max()

Python 具有內建函式,可計算清單中的最大和最小的數字。 max() 函式會傳回最大數字,而 min() 會傳回最小數字。 因此 min(gravity_on_planets) 會傳回 gravity_on_planets 清單中最小的數字,也就是 0.377 (火星)。

下列程式碼會使用這些函式來計算太陽系中最小和最大的重量:

gravity_on_planets = [0.378, 0.907, 1, 0.377, 2.36, 0.916, 0.889, 1.12]
bus_weight = 12650 # in Newtons, on Earth

print("On Earth, a double-decker bus weighs", bus_weight, "N")
print("The lightest a bus would be in the solar system is", bus_weight * min(gravity_on_planets), "N")
print("The heaviest a bus would be in the solar system is", bus_weight * max(gravity_on_planets), "N")
On Earth, a double-decker bus weighs 124054 N
The lightest a bus would be in the solar system is 46768.35 N
The heaviest a bus would be in the solar system is 292767.44 N