우주 임무 관리 시스템

PythonBeginner
지금 연습하기

소개

LabEx 우주 아카데미의 파이썬 자료구조 챌린지에 오신 것을 환영합니다! 여러분은 신입 요원으로서 간단한 우주 임무 관리 시스템을 완성하게 됩니다. 이번 챌린지를 통해 리스트, 딕셔너리, 집합 (set) 과 같은 파이썬의 핵심 자료구조 활용 능력을 키울 수 있습니다.

이 콘텐츠는 챌린지입니다. 가이드에 따라 학습하는 실습 (Lab) 과 달리, 제공된 과제를 스스로의 힘으로 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있지만, 해결이 어렵다면 Labby 와 상담하거나 모범 답안을 확인해 보세요. 통계에 따르면 이 과정은 입문 수준이며, 90%의 통과율과 92%의 높은 만족도를 기록하고 있습니다.

우주 임무 관리 시스템 완성하기

이번 챌린지에서는 다양한 자료구조를 사용하여 우주 임무를 관리하는 파이썬 스크립트의 미완성 부분을 완성해야 합니다.

과제

  1. /home/labex/project 디렉토리에 있는 mission_control.py 파일을 엽니다. (WebIDE 사용을 권장합니다.)
  2. 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. 스크립트를 실행하여 임무 추가, 업데이트, 전체 목록 표시, 우주비행사 명단 확인 기능이 정상적으로 작동하는지 테스트합니다.

요구 사항

  • 적절한 자료구조를 사용하여 mission_control.py의 함수를 구현하세요:
    • missions 리스트를 사용하여 임무 이름을 저장합니다.
    • mission_details 딕셔너리를 사용하여 각 임무의 세부 정보를 저장합니다.
    • list_astronauts 함수에서는 중복되지 않는 우주비행사 이름을 저장하기 위해 집합 (set) 을 사용합니다.
  • add_mission 함수는 새로운 임무를 missions 리스트와 mission_details 딕셔너리 양쪽 모두에 추가해야 합니다.
  • update_mission 함수는 지정된 임무의 특정 세부 정보를 수정해야 합니다.
  • display_missions 함수는 모든 임무와 그 세부 정보를 출력해야 합니다.
  • list_astronauts 함수는 모든 임무에 참여하는 우주비행사들의 중복 없는 집합을 반환해야 합니다.

실행 예시

mission_control.py를 완성하고 실행하면 다음과 같은 방식으로 상호작용이 이루어져야 합니다:

$ 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!
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 다양한 자료구조를 활용하여 우주 임무를 관리하는 파이썬 스크립트를 완성해 보았습니다. 임무 이름을 저장하는 리스트, 세부 정보를 관리하는 딕셔너리, 그리고 고유한 우주비행사 명단을 추출하기 위한 집합의 사용법을 익혔습니다. 이 실습을 통해 파이썬 자료구조의 개념을 다지고, 복잡한 데이터를 관리하는 실제적인 응용 능력을 강화할 수 있었습니다.