宇宙ミッション管理システム

PythonBeginner
オンラインで実践に進む

はじめに

LabEx 宇宙アカデミーの Python データ構造チャレンジへようこそ!新入隊員であるあなたの任務は、シンプルな宇宙ミッション管理システムを完成させることです。このチャレンジを通じて、リスト(list)、辞書(dictionary)、集合(set)といった Python の主要なデータ構造の扱い方を練習します。

これは「チャレンジ」です。ガイド付きの実験(Lab)とは異なり、ステップごとの指示に従うのではなく、自力でタスクを完了させる必要があります。チャレンジは通常、少し難易度が高く設定されています。もし難しいと感じた場合は、Labby に相談したり、解答(Solution)を確認したりしてください。過去のデータによると、これは初級レベルのチャレンジで、合格率は90%です。学習者からは92%の高い評価を得ています。

宇宙ミッション管理システムの完成

このチャレンジでは、さまざまなデータ構造を使用して宇宙ミッションを管理する、作成途中の Python スクリプトを完成させます。

タスク

  1. /home/labex/project ディレクトリにある mission_control.py ファイルを開きます。(WebIDE の使用を推奨します)
  2. mission_control.py 内の以下の 4 つの関数を完成させてください:
    • 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!
✨ 解答を確認して練習

まとめ

このチャレンジでは、さまざまなデータ構造を使用して宇宙ミッションを管理する Python スクリプトを完成させました。ミッション名を保存するためのリスト、詳細情報を管理するための辞書、そしてユニークな宇宙飛行士を追跡するための集合(set)の使用を練習しました。この演習を通じて、Python のデータ構造への理解を深め、複雑なデータを管理する際の実践的な応用方法を学びました。