Usare i numeri negli elenchi
Finora, sono stati usati nomi di pianeti in un elenco. Ci si potrebbe chiedere come usare altri tipi di dati, ad esempio i numeri.
Non tutti sanno che la gravità su altri pianeti è più forte o più debole a seconda della loro massa o dimensione. La gravità viene spesso misurata in G: la gravità sulla terra è 1 e quella degli altri pianeti viene misurata rispetto alla Terra.
La gravità sulla luna è di 0,166 G, motivo per cui gli astronauti possono saltare così in alto sulla luna. La gravità di Neptune è di 1,12 G, quindi saltare è più difficile. Anche i grandi atleti faticano a saltare oltre 2 metri su Nettuno.
Archiviare numeri in elenchi
Per archiviare numeri con cifre decimali in Python, usare il tipo float
. Per creare un valore float, immettere il numero con la posizione decimale e assegnarlo a una variabile:
gravity_on_earth = 1.0
gravity_on_the_moon = 0.166
Il codice seguente crea un elenco che mostra le forze gravitazionali di tutti e otto i pianeti nel sistema solare, in G:
gravity_on_planets = [0.378, 0.907, 1, 0.377, 2.36, 0.916, 0.889, 1.12]
In questo elenco, gravity_on_planets[0]
è la gravità su Mercurio (0,378 G), gravity_on_planets[1]
è la gravità su Venere (0,907 G) e così via.
Sulla Terra, un autobus a due piani pesa 124.054 Newton (N). Su Mercurio, dove la gravità è 0,378 G, lo stesso autobus pesa 124,054 Newton moltiplicato per 0,378. In Python, per moltiplicare due valori, si usa il simbolo *
.
Nell'esempio seguente è possibile sfruttare il peso di un autobus a due piani su pianeti diversi ottenendo il valore dall'elenco:
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
Usare min()
e max()
con elenchi
Python include funzioni predefinite per il calcolo dei numeri più grandi e più piccoli in un elenco. La funzione max()
restituisce il numero più grande e min()
restituisce il più piccolo. min(gravity_on_planets)
restituisce quindi il numero più piccolo nell'elenco gravity_on_planets
, ovvero 0,377 (Marte).
Il codice seguente calcola i pesi minimi e massimi nel sistema solare usando queste funzioni:
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