はじめに
LabEx 宇宙アカデミーの Python データ構造チャレンジへようこそ!新入隊員であるあなたの任務は、シンプルな宇宙ミッション管理システムを完成させることです。このチャレンジを通じて、リスト(list)、辞書(dictionary)、集合(set)といった Python の主要なデータ構造の扱い方を練習します。
宇宙ミッション管理システムの完成
このチャレンジでは、さまざまなデータ構造を使用して宇宙ミッションを管理する、作成途中の Python スクリプトを完成させます。
タスク
/home/labex/projectディレクトリにあるmission_control.pyファイルを開きます。(WebIDE の使用を推奨します)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)
- スクリプトを実行し、ミッションの追加、更新、全ミッションの表示、宇宙飛行士のリスト表示を行って、機能が正しく動作するかテストしてください。
要件
- 適切なデータ構造を使用して
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 のデータ構造への理解を深め、複雑なデータを管理する際の実践的な応用方法を学びました。



