Totale e media
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 83 di 88.
Sfida
FacileParti dal tuo tracker delle spese e aggiungi la funzionalità "Total & Average".
Il tuo programma dovrebbe:
- Inizializzare un array vuoto chiamato
expenses - Creare un
loop doche visualizzi il menu e legga l'input dell'utente - Quando l'utente inserisce
"1", chiedere il nome e l'importo della spesa, creare un hash con le chiavi:namee:amount, aggiungerlo all'arrayexpensese stampareExpense added! - Quando l'utente inserisce
"2", visualizzare tutte le spese oppure un messaggio se non ce ne sono - Quando l'utente inserisce
"3", calcolare e visualizzare il totale e la media di tutte le spese, oppure un messaggio se non ce ne sono - Quando l'utente inserisce
"5", stampareGoodbye!e uscire dal ciclo
Il menu dovrebbe essere visualizzato esattamente come prima:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Quando viene selezionata l'opzione "3":
- Se non ci sono spese, stampare:
No expenses to calculate. - Se ci sono spese, stampare il totale e la media in questo formato:
Total: $XAverage: $Y
Calcola il totale sommando tutti i valori :amount. Calcola la media dividendo il totale per il numero di spese.
Ad esempio, se gli input sono 3, poi 5 (calcolo senza spese), l'output dovrebbe essere:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: No expenses to calculate.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!Se gli input sono 1, Coffee, 5.0, 1, Lunch, 15.0, 3, poi 5, l'output dovrebbe essere:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Total: $20.0
Average: $10.0
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!Provalo tu
# Inizializza l'array expenses
expenses = []
# TODO: Scrivi il tuo codice qui sotto
# Crea un ciclo che:
# - Mostri il menu
# - Legga l'input dell'utente
# - Gestisca le opzioni 1, 2, 3 e 5
#
# Per l'opzione "1": chiedi il nome e l'importo, crea un hash e aggiungilo a expenses
# Per l'opzione "2": mostra tutte le spese o un messaggio se non ce ne sono
# Per l'opzione "3": calcola e mostra il totale e la media, o un messaggio se non ci sono spese
# Per l'opzione "5": stampa "Goodbye!" ed esciTutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dall'utente10FizzBuzz con un colpo di scena
Panoramica del giocoIl metodo FizzBuzz2Variabili e tipi di dato
Numeri e variabiliTipo di dato stringaTipo di dato booleanoTipo di dato SymbolVerifica dei tipi di datoConvenzioni di denominazioneRiepilogo - Creazione di variabili5Strutture decisionali
Istruzione ifIf-ElseRipasso - Calcolatrice sempliceIf-Else annidatoIstruzione unless8Cicli
Ciclo for con intervalliCiclo whilebreaknextRiepilogo - FattorialeCiclo timesCiclo untilCicli annidatiRiepilogo - Input dinamico3Operatori, parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso: matematica sempliceOperatori di confronto6Input/Output di base
Output con putsOutput con print e pOutput con variabiliInput con getsMetodo chompConversione di tipoRipasso - Calcolatore dell'etàRipasso - Vero o falso9Metodi
Definire un metodoParametri del metodoValori restituitiRiepilogo - Metodo SigmaRiepilogo - Metodo di validazioneValori predefiniti dei parametri15Monitor delle spese giornaliere
Panoramica del progettoUscire dal programmaEsercitati da solo: Compilatore Ruby online