Menu
CoddyTech

Преобразователь данных

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 78 из 78.

challenge icon

Задание

Сложно

Преобразуйте записи об учениках в отчёт. Программа считывает целое число n, затем n записей. Запись содержит три поля, разделённые символом ;: идентификатор ученика, оценки (целые числа, разделённые запятыми) и предметы (разделённые запятыми):

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

Ученик считается прошедшим отбор, если каждая оценка выше 70 (оценка ровно 70 не подходит). Проверьте это с помощью метода массива all().

Выведите Qualified students: и количество таких учеников. Затем для каждого прошедшего отбор ученика в порядке ввода выведите идентификатор, : и среднее значение оценок с двумя знаками после запятой. Затем выведите 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