Aggiungi studente
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 43 di 78.
Sfida
FacileAggiungi studenti ai record. Mantieni tutto ciò che hai scritto nei passaggi precedenti.
1. La funzione. Sotto _ready(), scrivi add_student(student_name: String, age: int, courses: Array) -> void:
- Se
student_recordscontiene già il nome, stampaStudent '<name>' already exists.e restituisci il controllo. - Altrimenti, crea un insieme dei corsi (un dizionario con ogni corso come chiave e
truecome valore) e memorizza lo studente sotto il suo nome come dizionario con tre chiavi:"age"(l'età),"grades"(un array vuoto) e"courses"(l'insieme). Poi stampaStudent '<name>' added successfully.
2. Il comando. Il comando add Alice 20 Math Physics contiene il nome, l'età e un numero qualsiasi di corsi. Aggiungi questo ramo al match, sopra ["show"]:
["add", var student, var age, ..]:
add_student(student, int(age), parts.slice(3)).. consente al pattern di corrispondere ai corsi che seguono e parts.slice(3) è l'array di quei corsi. Per i comandi
add Alice 20 Math Physics
add Bob 22 Biology Chemistry
show
exitl'output è:
Student 'Alice' added successfully.
Student 'Bob' added successfully.
{ "Alice": { "age": 20, "grades": [], "courses": { "Math": true, "Physics": true } }, "Bob": { "age": 22, "grades": [], "courses": { "Biology": true, "Chemistry": true } } }
Goodbye!Provalo tu
extends Node
# Ogni studente: name -> {"age": int, "grades": Array, "courses": un insieme di nomi dei corsi}
var student_records := {}
func _ready():
while true:
var parts := Array(OS.read_string_from_stdin().split(" ", false))
match parts:
["show"]:
print(student_records)
["exit"]:
print("Goodbye!")
break
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