Menu
CoddyTech

Aggiungi studente

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 43 di 78.

challenge icon

Sfida

Facile

Aggiungi 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_records contiene già il nome, stampa Student '<name>' already exists. e restituisci il controllo.
  • Altrimenti, crea un insieme dei corsi (un dizionario con ogni corso come chiave e true come 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 stampa Student '<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
exit

l'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

Esercitati da solo: Compilatore GDScript online