Menu
CoddyTech

数据转换器

本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 78 课,共 78 课。

challenge icon

挑战

困难

将学生记录整理成报告。程序会读取一个整数 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: 1

S124 因为成绩 65 而不符合条件,所以不统计 English。没有符合条件的学生时,输出以 Subjects: 这一行结束。

亲手试试

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# 读取 n 条记录,然后输出符合条件的学生及其科目
	pass

逻辑与流程中的所有课

自己练习: GDScript 在线编译器