使用列表中的数字
到目前为止,你一直在列表中使用行星名称。 你可能想知道如何使用其他数据类型,例如数字。
你是否知道,其他行星上的重力会因行星的质量或大小而更强或更弱? 重力通常以 G 为单位进行度量,其中地球上的重力为 1,而其他行星相对于地球进行度量。
月球上的重力为 0.166 G,这就是为什么宇航员可以在月球上跳得这么高。 海王星的重力为 1.12 G,因此跳跃更加困难。 即使是杰出的运动员也很难在海王星上跳跃超过 2 米。
在列表中存储数字
若要在 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