Gestione degli errori
Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 89 di 92.
Sfida
FacileInfine, gestisci ogni scelta che non sia da 1 a 5. Mantieni tutto ciò che hai scritto nei passaggi precedenti e stampa:
Invalid choice. Please try again.Dopo il messaggio, il ciclo legge la scelta successiva come prima.
Provalo tu
extends Node
func _ready():
print("Welcome to the Daily Expense Tracker!")
# Mostra il menu una volta
print("\nMenu:")
print("1. Add a new expense")
print("2. View all expenses")
print("3. Calculate total and average expense")
print("4. Clear all expenses")
print("5. Exit")
# Un array vuoto per le spese
var expenses: Array[float] = []
while true:
# Acquisisci la scelta dell'utente
var choice := OS.read_string_from_stdin()
if choice == "1":
# Aggiungi una nuova spesa
var amount := float(OS.read_string_from_stdin())
expenses.append(amount)
print("Expense added successfully!")
elif choice == "2":
# Visualizza tutte le spese
if expenses.is_empty():
print("No expenses recorded yet.")
else:
print("Your expenses:")
for i in range(expenses.size()):
print(i + 1, ". ", expenses[i])
elif choice == "3":
# Calcola il totale e la media
if expenses.is_empty():
print("No expenses recorded yet.")
else:
var total := 0.0
for expense in expenses:
total += expense
var average := total / expenses.size()
print("Total expense: ", total)
print("Average expense: ", average)
elif choice == "4":
# Cancella tutte le spese
expenses.clear()
print("All expenses cleared.")
elif choice == "5":
# Esci dal programma
print("Exiting the Daily Expense Tracker. Goodbye!")
break
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto7Input/Output di base
OutputOutput con variabiliFormattazione delle stringheInputConversione di tipoRiepilogo - Fino a 120Riepilogo - Vero o falso10Funzioni
Dichiarare una funzioneArgomentiRestituzioneTipi di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di convalidaValori predefiniti13Iterare sugli array
Iterare sugli elementiIterare con gli indiciIterare sulle stringhe, parte 1Iterare sulle stringhe, parte 216Registro giornaliero delle spese
Panoramica del progettoUscire dal programma5Operatori - Parte 2
Operatori logici - Parte 1Operatori logici - Parte 2Riepilogo - Logica sempliceOperatori logici - Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoInserimento dei dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Variabili Parte 2
Dichiarazione del tipoInferenza del tipoCostantiRipasso - Inizializzare le variabiliConversione di tipo6Strutture decisionali
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIf - Else annidatiIstruzione match9Cicli
Ciclo forCiclo whilebreakcontinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Compilatore GDScript online