数据转换器
本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 78 课,共 78 课。
挑战
困难将学生记录整理成报告。程序会读取一个整数 n,然后读取 n 条记录。每条记录有三个字段,用 ; 分隔:学生 ID、成绩(用逗号分隔的整数)和科目(用逗号分隔):
S123;88,92,85;Math,Science,History当学生的每门成绩都高于 70 时,该学生才符合条件(成绩恰好为 70 不符合条件)。使用数组方法 all() 检查。
输出 Qualified students: ,以及符合条件的学生人数。然后,按输入顺序逐个输出符合条件的学生的 ID、: 和成绩平均分,保留两位小数。接着输出 Subjects:,然后按科目首次出现的顺序,逐个输出至少有一名符合条件的学生选修的科目、: 和选修该科目的符合条件学生人数。
对于以下输入:
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 在线编译器