Практический пример Python 20

Python 100例100 примеров на Python

Задача:Мяч свободно падает с высоты 100 метров. После каждого приземления он отскакивает на половину своей первоначальной высоты; затем снова падает. Выясните, сколько метров он пролетел всего к моменту 10-го приземления, и на какую высоту он отскакивает при 10-м отскоке.

Анализ программы:None

Исходный код программы:

Пример Python 1

#!/usr/bin/python # -*- coding: UTF-8 -*- tour = [] height = [] initial_height = 100.0 # Начальная высота num_bounces = 10 # Количество отскоков for i in range(1, num_bounces + 1): # Начиная со второго приземления, пройденное расстояние должно быть равно высоте отскока, умноженной на 2 (отскок до высшей точки и снова падение) 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"Общая высота: tour = {total_distance}") print(f"Высота {num_bounces}-го отскока: height = {final_bounce_height}")

Вывод приведенного выше примера:

总高度:tour = 299.609375
第10次反弹高度:height = 0.09765625

Пример 2

def calculate_distance_and_height(height, times):
    total_distance = 0
    current_height = height

    for i in range(1, times + 1):
        # Начиная со второго приземления, пройденное расстояние должно быть равно удвоенной высоте отскока (подъём до высшей точки и повторное падение)
        if i == 1:
            total_distance += current_height
        else:
            total_distance += current_height * 2  # Расстояние каждого падения и отскока
        current_height /= 2  # Высота после отскока

    return total_distance, current_height

# Начальная высота — 100 метров; вычислите общее расстояние и высоту отскока при 10-м приземлении
height = 100
bounce_times = 10
total_distance, final_height = calculate_distance_and_height(height, bounce_times)

print(f"К {bounce_times}-му приземлению всего пройдено {total_distance} метров.")
print(f"Высота {bounce_times}-го отскока составляет {final_height} метров.")

Вывод приведенного выше примера:

第10次落地时,共经过 299.609375 米。
第10次反弹的高度为 0.09765625 米。

Python 100例100 примеров на Python

Другие расширения