Trasformatore di dati
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 78 di 78.
Sfida
DifficileTrasforma i record degli studenti in un rapporto. Il programma legge un numero intero n, poi n record. Un record ha tre campi separati da ;: un identificativo dello studente, i voti (numeri interi separati da virgole) e le materie (separate da virgole):
S123;88,92,85;Math,Science,HistoryUno studente è ammesso quando tutti i voti sono superiori a 70 (un voto esattamente pari a 70 non è sufficiente). Verificalo con il metodo degli array all().
Stampa Qualified students: e il loro numero. Poi, per ogni studente ammesso nell’ordine di input, stampa l’identificativo, : e la media dei voti con due cifre decimali. Poi stampa Subjects: e, per ogni materia seguita da almeno uno studente ammesso, la materia, : e il numero di studenti ammessi che la seguono, nell’ordine in cui le materie compaiono per la prima volta.
Per questi input:
3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,Historyl’output è:
Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1S124 non è ammesso a causa del voto 65, quindi English non viene conteggiata. Se non ci sono studenti ammessi, l’output termina con la riga Subjects:.
Provalo tu
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
# Leggi n record, poi stampa gli studenti idonei e le materie
pass
Tutte le lezioni di Logica e flusso
1Stringhe in dettaglio
Metodi delle stringheRicerca nelle stringheSostituzione e trimDividere e unireRipasso - verifica del nome utente4Dizionari - Parte 2
Dizionari annidatiArray di dizionariUnire dizionariCopiare dizionariRiepilogo - Contatore di frequenza7Enumerazioni
Che cos'è un'enumerazione?Definire un'enumerazioneValori dell'enumerazioneEnumerazioni in MatchRiepilogo - Semaforo10Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di un array annidato13Sistema di gestione dell'inventario
Panoramica del progettoAggiungere un articolo2Decisioni avanzate
Match con variabiliGuardie di matchPattern per arrayPattern per dizionariVerifiche di appartenenzaRiepilogo - Parser di comandi5Applicazione Rubrica
Visualizzare il menuAggiungere un contatto8Gestione dei registri degli studenti
Panoramica del progettoAggiungi studente11Funzioni di ordine superiore
Il metodo mapIl metodo filterIl metodo reduceany e allRipasso - Validatore di emailRipasso - Elaboratore di numeri3Array multidimensionali
Fondamenti degli array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DRipasso - Array 2DArray frastagliatiSchemi comuni con gli array 2DRipasso - Tabellone di gioco6Insiemi con i dizionari
Che cos'è un insieme?Il dizionario come insiemeAggiungere e rimuovereUnione e intersezioneDifferenza tra insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Somma dei valoriTrovare minimo e massimoOrdinamento personalizzatoRiepilogo - Ordinatore di dizionariEsercitati da solo: Compilatore GDScript online