es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Obtener datos de un diccionario en una función matemática?

sports_info = {“bicycling”: {“met”: 14,
“max_min_of_execution”: 60},
“crunches”: {“met”: 5,
“max_min_of_execution”: 15},
“swimming”: {“met”: 9.5,
“max_min_of_execution”: 30},
“push ups”: {“met”: 8,
“max_min_of_execution”: 15},
“sitting”: {“met”: 1,
“max_min_of_execution”: -1}}

def met_to_burned_calories_per_minute(met: float, weight: float) -> float:
return (met * 3.5 * weight)/200

def do_sport_and_burn_calories(calories_to_burn: int, sports_info: dict[str, dict[str, int]], weight = float(65)):
total_mins = {}
burned_calories = 0
for sport, info in sports_info.items():
if info[“max_min_of_execution”] != -1 and burned_calories < calories_to_burn:
mins_to_do = min((calories_to_burn – burned_calories) / met_to_burned_calories_per_minute(info[“met”], weight),
info[“max_min_of_execution”])
total_mins[sport] = mins_to_do
burned_calories += mins_to_do * met_to_burned_calories_per_minute(info[“met”], weight)
elif info[“max_min_of_execution”] == -1 and burned_calories < calories_to_burn:
total_mins[sport] = “unknown”
unburned_calories = calories_to_burn – burned_calories
output_str = f”To burn {calories_to_burn} calories with your given sports you have to do”
for sport, mins in total_mins.items():
if mins != “unknown”:
output_str += f” {int(mins)} mins of {sport},”
else:
output_str += f” {sport},”
output_str = output_str[:-1] + “!”
output_str += f” At the end you still need to burn {round(unburned_calories,2)} calories.”
return output_str

print(do_sport_and_burn_calories(1560, sports_info))

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de crear una función que tome un diccionario de deportes y sus valores MET asociados y minutos máximos de ejecución, y luego calcule la cantidad de minutos de cada deporte necesarios para quemar cierto número de calorías.

    Para empezar, puedes crear una función que tome el diccionario sports_info y calories_to_burn como parámetros. Luego, puedes hacer un ciclo a través del diccionario y usar la función met_to_burned_calories_per_minute para calcular la cantidad de minutos de cada deporte necesarios para quemar el número deseado de calorías. También puedes llevar un seguimiento del número de calorías que se han quemado y el número de calorías que aún hay que quemar.

    Una vez que tengas la cantidad de minutos necesarios de cada deporte para quemar el número deseado de calorías, puedes usar la instrucción print para mostrar los resultados en el formato deseado.

    ¡Buena suerte!

Comments are closed.