Pianificatore di budget
Fa parte della sezione Logica e flusso del percorso R di Coddy. Lezione 63 di 64.
Sfida
DifficileCompleta budget(lines). La prima riga è l'intestazione month,type,amount e ogni altra riga è una voce, ad esempio 2024-01,income,3000. Una voce è valida quando il suo tipo è income o expense e il suo importo è un numero maggiore di 0; ignora tutte le altre voci.
Restituisci una riga per ogni mese presente nelle voci valide, nell'ordine, 2024-01: income 3000.00, spent 1250.50, saved 1749.50, dove saved è il reddito meno le spese (per un mese senza reddito o spese, il valore corrispondente è 0). Poi aggiungi Best month: con il mese in cui si è risparmiato di più (il primo in caso di parità) e Skipped: con il numero di voci ignorate.
Se nessuna voce è valida, restituisci solo No valid entries e la riga Skipped.
Il codice fornito passa ogni riga di input a budget() e stampa ogni riga restituita.
Provalo tu
budget <- function(lines) {
# Escribe tu código aquí
character(0)
}
# Código de entrada/salida proporcionado: mantenlo tal como está
input <- suppressWarnings(readLines(file("stdin")))
cat(budget(input), sep = "\n")
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Sottostringhe con substr()Formattazione con sprintf()Dividere e unireRicerca nelle stringheSostituzione del testoRipasso - Generatore di nomi utente4Matrici
Creazione di matriciIndicizzazione delle matriciRiepiloghi di righe e colonneOperazioni aritmetiche con le matriciRipasso - Schema dei posti a sedere10Flusso di controllo avanzato
La funzione switch()ifelse() vettorialerepeat e breakFunzioni ricorsiveRiepilogo - Classificatore di voti2Ricerche chiave-valore
Ricerche in vettori con nomiControllare le chiaviAggiungere e rimuovere chiaviIterare sui nomiRiepilogo - Sportello titoli5Progetto - Registro dei voti
Aggiungere studentiRegistrare i voti8Ordinamento e raggruppamento
Ordinare i vettoriOrdinare in base a una chiaveRaggruppare con split()Riepiloghi dei gruppiRipasso - Classifica3Insiemi e conteggio
Valori univociOperazioni sugli insiemiTest di appartenenzaConteggio con table()Riepilogo - Ospiti dell’evento6Le funzioni come valori
Funzioni anonimePassare funzioniRestituire funzioniClosure con statoRiepilogo - Regole di sconto9DataFrame
Creare DataFrameColonne e righeFiltrare le righeAggiungere e ordinareRiepilogo - Report delle vendite12Progetto - Gestione delle spese
Registrare le speseSpesa totaleEsercitati da solo: Compilatore R online