Introducción
¡Bienvenido al Desafío de Estructuras de Datos en Python de la Academia Espacial LabEx! Como nuevo recluta, tu tarea será completar un sistema básico de gestión de misiones espaciales. Este desafío te ayudará a practicar el uso de estructuras de datos fundamentales en Python, como listas, diccionarios y conjuntos (sets).
Completa el Sistema de Gestión de Misiones Espaciales
En este desafío, deberás completar un script de Python parcialmente desarrollado que gestiona misiones espaciales utilizando diferentes estructuras de datos.
Tareas
- Abre el archivo
mission_control.pyubicado en el directorio/home/labex/project. (Se recomienda usar el WebIDE). - Completa las cuatro funciones en
mission_control.py:add_mission(missions, mission_details, name, details)update_mission(mission_details, name, key, value)display_missions(missions, mission_details)list_astronauts(mission_details)
- Ejecuta el script y prueba su funcionamiento añadiendo una misión, actualizándola, mostrando todas las misiones y listando a los astronautas.
Requisitos
- Completa las funciones en
mission_control.pyutilizando las estructuras de datos adecuadas:- Usa la lista
missionspara almacenar los nombres de las misiones. - Usa el diccionario
mission_detailspara almacenar los detalles específicos de cada misión. - Usa un conjunto (set) para almacenar nombres únicos de astronautas en la función
list_astronauts.
- Usa la lista
- Asegúrate de que la función
add_missionañada la nueva misión tanto a la listamissionscomo al diccionariomission_details. - La función
update_missiondebe modificar el detalle especificado de una misión concreta. - La función
display_missionsdebe imprimir en pantalla todas las misiones con sus respectivos detalles. - La función
list_astronautsdebe devolver un conjunto con todos los astronautas únicos que participan en todas las misiones.
Ejemplo
Tras completar y ejecutar mission_control.py, la interacción debería ser similar a la siguiente:
$ python /home/labex/project/mission_control.py
Space Mission Management System
1. Add Mission
2. Update Mission
3. Display Missions
4. List Astronauts
5. Exit
Enter your choice: 1
Enter mission name: Mars Expedition
Enter destination: Mars
Enter launch date: 2030-01-01
Enter crew members (comma-separated): John Doe, Jane Smith
Mission added successfully!
Enter your choice: 3
All Missions:
1. Mars Expedition
Destination: Mars
Launch Date: 2030-01-01
Crew: John Doe, Jane Smith
Enter your choice: 4
All Astronauts:
- John Doe
- Jane Smith
Enter your choice: 5
Exiting Space Mission Management System. Goodbye!
Resumen
En este desafío, has completado un script de Python para gestionar misiones espaciales empleando diversas estructuras de datos. Has practicado el uso de listas para organizar nombres, diccionarios para estructurar detalles complejos y conjuntos para filtrar elementos únicos como los nombres de los astronautas. Este ejercicio ha reforzado tu comprensión sobre cómo elegir y aplicar las estructuras de datos de Python en escenarios prácticos de gestión de información.



