Système de gestion de missions spatiales

PythonBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce défi sur les structures de données Python de la LabEx Space Academy ! En tant que nouvelle recrue, vous allez devoir finaliser un système simple de gestion de missions spatiales. Ce défi vous permettra de mettre en pratique l'utilisation des structures de données Python telles que les listes, les dictionnaires et les ensembles (sets).

Compléter le système de gestion de missions spatiales

Dans ce défi, vous allez compléter un script Python partiellement écrit qui gère des missions spatiales en utilisant différentes structures de données.

Tâches

  1. Ouvrez le fichier mission_control.py situé dans le répertoire /home/labex/project. (Il est recommandé d'utiliser l'IDE Web)
  2. Complétez les quatre fonctions suivantes dans 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)
  3. Exécutez le script et testez les fonctionnalités en ajoutant une mission, en la mettant à jour, en affichant toutes les missions et en listant les astronautes.

Exigences

  • Complétez les fonctions dans mission_control.py en utilisant les structures de données appropriées :
    • Utilisez la liste missions pour stocker les noms des missions.
    • Utilisez le dictionnaire mission_details pour stocker les détails de chaque mission.
    • Utilisez un ensemble (set) pour stocker les noms uniques des astronautes dans la fonction list_astronauts.
  • Assurez-vous que la fonction add_mission ajoute la nouvelle mission à la fois dans la liste missions et dans le dictionnaire mission_details.
  • La fonction update_mission doit modifier le détail spécifié pour la mission donnée.
  • La fonction display_missions doit afficher toutes les missions ainsi que leurs détails respectifs.
  • La fonction list_astronauts doit renvoyer un ensemble de tous les astronautes uniques participant à l'ensemble des missions.

Exemple

Une fois le fichier mission_control.py complété et exécuté, l'interaction devrait ressembler à ceci :

$ 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!
✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez complété un script Python gérant des missions spatiales à l'aide de diverses structures de données. Vous vous êtes exercé à utiliser des listes pour stocker les noms des missions, des dictionnaires pour les détails des missions et des ensembles pour assurer le suivi des astronautes uniques. Cet exercice a permis de renforcer votre compréhension des structures de données Python et de leurs applications concrètes dans la gestion de données complexes.