Menu
CoddyTech

Chuyển đổi dữ liệu

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 78 trên 78.

challenge icon

Thử thách

Khó

Chuyển các hồ sơ học sinh thành một báo cáo. Chương trình đọc một số nguyên n, sau đó đọc n hồ sơ. Mỗi hồ sơ có ba trường được phân tách bằng ;: mã học sinh, điểm số (các số nguyên được phân tách bằng dấu phẩy) và các môn học (được phân tách bằng dấu phẩy):

S123;88,92,85;Math,Science,History

Học sinh đủ điều kiện khi tất cả điểm số đều trên 70 (điểm đúng bằng 70 không đạt điều kiện). Hãy kiểm tra điều này bằng phương thức mảng all().

In ra Qualified students: và số lượng học sinh đủ điều kiện. Sau đó, với mỗi học sinh đủ điều kiện theo thứ tự nhập, in ra mã học sinh, : và điểm trung bình với hai chữ số thập phân. Tiếp theo, in ra Subjects: và, với mỗi môn học mà ít nhất một học sinh đủ điều kiện đã học, in ra tên môn, : và số học sinh đủ điều kiện học môn đó, theo thứ tự các môn xuất hiện lần đầu.

Với các đầu vào sau:

3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,History

đầu ra là:

Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1

S124 không đủ điều kiện vì có điểm 65, nên English không được tính. Khi không có học sinh nào đủ điều kiện, đầu ra kết thúc bằng dòng Subjects:.

Tự làm thử

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Đọc n bản ghi, rồi in ra những học sinh đủ điều kiện và các môn học
	pass

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online