Transformador de datos
Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 78 de 78.
Desafío
DifícilConvierte 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,HistoryUn 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,Historyla salida es:
Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1S124 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
1Cadenas de texto en profundidad
Métodos de cadenasBúsqueda en cadenasReemplazar y eliminar espaciosDividir y unirRepaso - Comprobación del nombre de usuario4Diccionarios, parte 2
Diccionarios anidadosArrays de diccionariosCombinar diccionariosCopiar diccionariosRepaso: contador de frecuencias7Enumeraciones
¿Qué es una enumeración?Definir una enumeraciónValores de una enumeraciónEnumeraciones en matchRepaso: semáforo10Funciones avanzadas
Devolver múltiples valoresFunciones lambda, parte 1Funciones lambda, parte 2Repaso: ordenar con lambdaFunciones recursivas, parte 1Funciones recursivas, parte 2Repaso: sumar un array anidado13Sistema de gestión de inventario
Descripción general del proyectoAñadir artículo2Toma de decisiones avanzada
Coincidencia con variablesGuardas de coincidenciaPatrones de arraysPatrones de diccionariosComprobaciones de pertenenciaRepaso: analizador de comandos5Aplicación de agenda de contactos
Mostrar menúAñadir contacto8Gestor de expedientes estudiantiles
Descripción del proyectoAgregar estudiante3Arrays multidimensionales
Conceptos básicos de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DRepaso: arrays 2DArrays irregularesPatrones comunes de arrays 2DRepaso: tablero de juego6Conjuntos con diccionarios
¿Qué es un conjunto?El diccionario como conjuntoAñadir y eliminarUnión e intersecciónDiferencia de conjuntosRepaso: eliminar duplicados9Agregación avanzada de datos
Suma de valoresCómo encontrar el mínimo y el máximoOrdenación personalizadaRepaso: organizador de diccionariosPractica por tu cuenta: Compilador de GDScript online