Aggiungere un articolo
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 72 di 78.
Sfida
FacileAggiungi il comando add. Conserva tutto quello che hai scritto nel passaggio precedente.
Una riga come add Apple 0.5 100 aggiunge l'elemento Apple con il prezzo 0.5 e una scorta di 100. I nomi degli elementi sono composti da una sola parola.
Per prima cosa, scrivi la funzione add_item(inventory, item, price, stock) sopra _ready():
- Se l'elemento è già presente in
inventory, stampaError: Item 'Apple' already exists.(con il nome dell'elemento) e non modificare nulla - Altrimenti, memorizza
{"price": price, "stock": stock}sotto il nome dell'elemento e stampaItem 'Apple' added successfully.
Poi aggiungi un ramo elif per add nel ciclo. Controlla la riga prima di chiamare la funzione:
- Se la riga non contiene esattamente
4parti, stampaError: Use add ITEM PRICE STOCK - Se il prezzo non è un numero o la scorta non è un numero intero, stampa
Error: Price and stock must be numeric. - Altrimenti, chiama
add_item()convertendo il prezzo in unfloate la scorta in unint
Per i comandi add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show ed exit, il risultato è:
Inventory Management System
Item 'Apple' added successfully.
Item 'Banana' added successfully.
Error: Item 'Apple' already exists.
{ "Apple": { "price": 0.5, "stock": 100 }, "Banana": { "price": 0.2, "stock": 50 } }
Goodbye!Provalo tu
extends Node
func _ready():
# L'inventario: nome dell'articolo -> {"price": float, "stock": int}
var inventory := {}
print("Inventory Management System")
while true:
var line := OS.read_string_from_stdin()
var parts := line.split(" ")
var command := parts[0]
if command == "exit":
print("Goodbye!")
break
elif command == "show":
print(inventory)
else:
print("Unknown command")
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