Menu
CoddyTech

Adicionar Aluno

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 43 de 78.

challenge icon

Desafio

Fácil

Adicione estudantes aos registros. Mantenha tudo o que você escreveu nas etapas anteriores.

1. A função. Abaixo de _ready(), escreva add_student(student_name: String, age: int, courses: Array) -> void:

  • Se student_records já tiver o nome, imprima Student '<name>' already exists. e retorne.
  • Caso contrário, crie um conjunto dos cursos (um dicionário com cada curso como chave e true como valor) e armazene o estudante sob seu nome como um dicionário com três chaves: "age" (a idade), "grades" (um array vazio) e "courses" (o conjunto). Em seguida, imprima Student '<name>' added successfully.

2. O comando. O comando add Alice 20 Math Physics contém o nome, a idade e qualquer quantidade de cursos. Adicione este ramo ao match, acima de ["show"]:

["add", var student, var age, ..]:
	add_student(student, int(age), parts.slice(3))

.. permite que o padrão corresponda aos cursos seguintes, e parts.slice(3) é o array desses cursos. Para os comandos

add Alice 20 Math Physics
add Bob 22 Biology Chemistry
show
exit

a saída é:

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!

Experimente você mesmo

extends Node

# Cada estudante: name -> {"age": int, "grades": Array, "courses": um conjunto de nomes de cursos}
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

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online