JSON, Dict, Web API の練習 (P)
練習問題は、以下のステップを処理していきましょう。
問題 A
成績データをまねた JSON ファイルを読み込んで、dict にしてから、いろいろデータ処理してみましょう。 どちらかというと、dict に慣れる練習ですね。
- json_test/test_data_gen.py に演習用サンプルデータ生成器を置いておきます。
- 6行目 の
INIT_SEED
を各自変更してください。 - 実行すると、
json_test
directory にtest_input.json
というファイルができるはず。こんな感じ。ただ、中身は各自で変わるはず
.
{
"student0_LGl": {
"数学": 78,
"英語": 88,
"物理": 84,
"化学": 68,
"生物": 64
},
...
- 上記 JSON ファイルを読み込んで dict に変換し
print(dict)
してみましょう。 - 学生 ID 一覧を表示してください。こんな感じ:
['student0_LGl', 'student1_nFE', 'student2_Ver', ... ]
- 各科目の受験者数を dict 形式で出力してみましょう。こんな感じ:
{'数学': 10, '英語': 10, '物理': 7, '化学': 7, '生物': 3}
- 各科目の合計点と受験者数、平均点を dict 形式で出力してみましょう。こんな感じ
{'数学': {'num': 10, 'total': 743, 'average': 74.3}, '英語: ...
- 各学生の平均点も、一応出しておきましょう。こんな感じ。
{'student0_LGl': 76.4, 'student1_nFE': 76.33333333333333, ...
問題B
上記情報を表示する簡易 Web server を作ってみました。
webserver_test/test_server2.py を実行すると、以下の情報がアクセスできます。(10/23 修正
)
http://localhost:18061/students
で、学生 ID 一覧が取得可能 (list)http://localhost:18061/scores/<studentID>
で、学生 ID に対応する成績が取得可能 (dict)
上記 Web API を介して、学生一覧を取得し、その後、各学生の成績を取得表示するプログラムを作成しましょう。