使用列表中的数字

已完成

到目前为止,你一直在列表中使用行星名称。 你可能想知道如何使用其他数据类型,例如数字。

你是否知道,其他行星上的重力会因行星的质量或大小而更强或更弱? 重力通常以 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 = 124054 # 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