Menu
CoddyTech

Transformador de datos

Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 78 de 78.

challenge icon

Desafío

Difícil

Convierte los registros de estudiantes en un informe. El programa lee un número entero n y, después, n registros. Un registro tiene tres campos separados por ;: un id de estudiante, las calificaciones (números enteros separados por comas) y las asignaturas (separadas por comas):

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

Un estudiante está aprobado cuando todas las calificaciones son superiores a 70 (una calificación de exactamente 70 no es suficiente). Compruébalo con el método de array all().

Imprime Qualified students: y cuántos hay. Después, para cada estudiante aprobado en el orden de entrada, imprime el id, : y el promedio de las calificaciones con dos decimales. Después imprime Subjects: y, para cada asignatura cursada por al menos un estudiante aprobado, la asignatura, : y cuántos estudiantes aprobados la cursan, en el orden en que aparecen por primera vez las asignaturas.

Para estas entradas:

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

la salida es:

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

S124 no está aprobado debido a la calificación 65, así que English no se cuenta. Si no hay estudiantes aprobados, la salida termina con la línea Subjects:.

Pruébalo tú mismo

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Lee n registros y luego imprime los estudiantes que cumplen los requisitos y las asignaturas
	pass

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de GDScript online