Spaces:
Running
Running
import gradio as gr | |
import math | |
import pkg_resources # Для получения списка пакетов | |
def get_installed_packages_formatted_for_description(): | |
installed_packages = pkg_resources.working_set | |
# Форматируем в одну строку с переносами для Markdown | |
packages_list_str = "\n".join(sorted([f"- {i.key}=={i.version}" for i in installed_packages])) | |
return f"\n\n---\n**Установленные пакеты:**\n{packages_list_str}" | |
# Получаем список пакетов один раз при запуске скрипта | |
installed_packages_info_desc = get_installed_packages_formatted_for_description() | |
def compute_projectile_distance(initial_speed, angle): | |
""" | |
Calculate the horizontal distance traveled by a projectile. | |
Parameters: | |
initial_speed (float): Initial speed of the projectile in m/s | |
angle (float): Launch angle in degrees | |
Returns: | |
float: Horizontal distance traveled in meters | |
""" | |
# Convert angle from degrees to radians | |
angle_rad = math.radians(angle) | |
# Gravitational acceleration (m/s²) | |
g = 9.81 | |
# Calculate the horizontal distance using the projectile motion formula: | |
# distance = (initial_speed² * sin(2*angle)) / g | |
distance = (initial_speed**2 * math.sin(2 * angle_rad)) / g | |
return distance | |
app = gr.Interface( | |
fn=compute_projectile_distance, | |
inputs=["number", "number"], | |
outputs="number", | |
title="Compute Projectile Distance", | |
description=("Computes the theoretical horizontal distance a projectile travels for a given initial speed and angle." | |
"for a given initial speed and angle." | |
f"{installed_packages_info_desc}" # Добавляем сюда информацию о пакетах | |
) | |
) | |
#app.launch(mcp_server= True , share= True) | |
#app.launch(mcp_server=True, server_name="0.0.0.0") | |
app.launch(mcp_server=True) | |