Sistema de Gerenciamento de Missões Espaciais

PythonBeginner
Pratique Agora

Introdução

Bem-vindo ao Desafio de Estruturas de Dados em Python da LabEx Space Academy! Como novo recruta, sua tarefa será completar um sistema simples de gerenciamento de missões espaciais. Este desafio ajudará você a praticar o uso de estruturas de dados fundamentais do Python, como listas, dicionários e conjuntos (sets).

Este é um Desafio (Challenge), que difere de um Laboratório Guiado (Guided Lab) pois você deve tentar completar a tarefa de forma independente, em vez de apenas seguir instruções passo a passo. Desafios costumam ser um pouco mais complexos. Se encontrar dificuldades, você pode debater com o Labby ou consultar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 90%. Ele recebeu uma taxa de avaliações positivas de 92% dos alunos.

Completar o Sistema de Gerenciamento de Missões Espaciais

Neste desafio, você completará um script Python parcialmente desenvolvido que gerencia missões espaciais utilizando diferentes estruturas de dados.

Tarefas

  1. Abra o arquivo mission_control.py no diretório /home/labex/project. (Recomendamos o uso do WebIDE)
  2. Complete as quatro funções em 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. Execute o script e teste as funcionalidades adicionando uma missão, atualizando-a, exibindo todas as missões e listando os astronautas.

Requisitos

  • Complete as funções em mission_control.py utilizando as estruturas de dados apropriadas:
    • Use a lista missions para armazenar os nomes das missões.
    • Use o dicionário mission_details para armazenar os detalhes de cada missão.
    • Use um conjunto (set) para armazenar nomes únicos de astronautas na função list_astronauts.
  • Garanta que a função add_mission adicione a nova missão tanto à lista missions quanto ao dicionário mission_details.
  • A função update_mission deve modificar o detalhe especificado da missão informada.
  • A função display_missions deve imprimir todas as missões e seus respectivos detalhes.
  • A função list_astronauts deve retornar um conjunto de todos os astronautas únicos presentes em todas as missões.

Exemplo

Após completar e executar o mission_control.py, a interação deve ser semelhante a esta:

$ 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!
✨ Verificar Solução e Praticar

Resumo

Neste desafio, você completou um script Python para gerenciar missões espaciais utilizando diversas estruturas de dados. Você praticou o uso de listas para armazenar nomes de missões, dicionários para organizar detalhes complexos e conjuntos para rastrear astronautas únicos. Este exercício reforçou sua compreensão sobre as estruturas de dados do Python e suas aplicações práticas no gerenciamento de informações estruturadas.