データ変換
CoddyのGDScriptジャーニー「ロジックとフロー」セクションの一部。レッスン 78/78。
チャレンジ
難しい学生の記録をレポートにまとめます。プログラムは整数 n を読み込み、続いて n 件の記録を読み込みます。各記録には、; で区切られた3つのフィールドがあります。学生ID、成績(整数をカンマで区切ったもの)、科目(カンマで区切ったもの)です。
S123;88,92,85;Math,Science,Historyすべての成績が 70 を超えている場合、その学生は合格です(成績がちょうど 70 の場合は合格しません)。配列メソッド all() を使って確認してください。
Qualified students: と合格者数を出力します。次に、入力順に各合格者について、ID、: 、成績の平均を小数点以下2桁で出力します。その後、Subjects: を出力し、合格者が1人以上履修している各科目について、科目名、: 、その科目を履修している合格者数を、科目が最初に登場した順に出力します。
次の入力の場合:
3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,History出力は次のとおりです。
Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1S124 は成績 65 があるため合格せず、そのため English はカウントされません。合格者がいない場合、出力は Subjects: の行で終わります。
自分で試してみよう
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
# n 件のレコードを読み込み、条件を満たす生徒と科目を出力する
pass
ロジックとフローのすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ