Exemple pratique Python 20
Problème :Une balle tombe librement d'une hauteur de 100 mètres. Après chaque atterrissage, elle rebondit à la moitié de sa hauteur d'origine ; puis elle retombe. Déterminez combien de mètres elle a parcourus au total jusqu'au 10e atterrissage, et à quelle hauteur elle rebondit au 10e rebond.
Analyse du programme :Aucune
Code source du programme :
Exemple Python 1
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tour = []
height = []
initial_height = 100.0 # Hauteur initiale
num_bounces = 10 # Nombre de rebonds
for i in range(1, num_bounces + 1):
# À partir du deuxième atterrissage, la distance parcourue doit être la hauteur du rebond multipliée par 2 (rebondir jusqu'au point le plus haut et retomber)
if i == 1:
tour.append(initial_height)
else:
tour.append(2 * initial_height)
initial_height /= 2
height.append(initial_height)
total_distance = sum(tour)
final_bounce_height = height[-1]
print(f"Hauteur totale : tour = {total_distance}")
print(f"La hauteur du {num_bounces}ème rebond : height = {final_bounce_height}")
La sortie de l'exemple ci-dessus est :
总高度:tour = 299.609375 第10次反弹高度:height = 0.09765625
Exemple 2
def calculate_distance_and_height(height, times):
total_distance = 0
current_height = height
for i in range(1, times + 1):
# À partir du deuxième atterrissage, la distance parcourue doit être la hauteur du rebond multipliée par 2 (rebondir jusqu'au point le plus haut et retomber)
if i == 1:
total_distance += current_height
else:
total_distance += current_height * 2 # La distance de chaque chute et rebond
current_height /= 2 # Hauteur après rebond
return total_distance, current_height
# La hauteur initiale est de 100 mètres ; calculez la distance totale et la hauteur du rebond au 10e atterrissage
height = 100
bounce_times = 10
total_distance, final_height = calculate_distance_and_height(height, bounce_times)
print(f"Au {bounce_times}e atterrissage, il a parcouru un total de {total_distance} mètres.")
print(f"La hauteur du {bounce_times}e rebond est de {final_height} mètres.")
total_distance = 0
current_height = height
for i in range(1, times + 1):
# À partir du deuxième atterrissage, la distance parcourue doit être la hauteur du rebond multipliée par 2 (rebondir jusqu'au point le plus haut et retomber)
if i == 1:
total_distance += current_height
else:
total_distance += current_height * 2 # La distance de chaque chute et rebond
current_height /= 2 # Hauteur après rebond
return total_distance, current_height
# La hauteur initiale est de 100 mètres ; calculez la distance totale et la hauteur du rebond au 10e atterrissage
height = 100
bounce_times = 10
total_distance, final_height = calculate_distance_and_height(height, bounce_times)
print(f"Au {bounce_times}e atterrissage, il a parcouru un total de {total_distance} mètres.")
print(f"La hauteur du {bounce_times}e rebond est de {final_height} mètres.")
La sortie de l'exemple ci-dessus est :
第10次落地时,共经过 299.609375 米。 第10次反弹的高度为 0.09765625 米。Autres extensions
100 exemples Python