If - else annidati
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 25 di 78.
A volte due opzioni non sono sufficienti. E se devi verificare più condizioni e gestire ciascuna in modo diverso? Puoi inserire un'istruzione if-else all'interno di un altro blocco if o else per creare percorsi decisionali più complessi.
score <- 85
if (score >= 90) {
print("Grade: A")
} else {
if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}
}R verifica prima se il punteggio è pari o superiore a 90. Poiché 85 non soddisfa questa condizione, passa al blocco else.
All'interno, un altro if verifica se il punteggio è almeno 80. Poiché 85 supera questo test, stampa "Grade: B".
R offre un modo più pulito per scriverlo usando else if:
score <- 85
if (score >= 90) {
print("Grade: A")
} else if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}Entrambi gli approcci funzionano allo stesso modo, ma else if mantiene il codice più lineare e facile da leggere. Puoi concatenare tutti i blocchi else if necessari e R eseguirà solo il primo blocco la cui condizione è vera.
Sfida
FacileCrea un sistema di tariffazione dei biglietti usando istruzioni if-else o else if annidate per determinare il prezzo del biglietto in base all’età.
Ti viene fornita la seguente variabile:
age <- 25Scrivi una serie di condizioni per determinare e stampare il prezzo del biglietto in base a queste regole:
- Se age è minore di 5, stampa
"Free" - Se age è compresa tra 5 e 12 (estremi inclusi), stampa
"$5" - Se age è compresa tra 13 e 17 (estremi inclusi), stampa
"$8" - Se age è compresa tra 18 e 64 (estremi inclusi), stampa
"$12" - Se age è 65 o superiore, stampa
"$7"
Usa la funzione print() per l’output.
Provalo tu
# Variabile fornita
age <- 25
# TODO: Scrivi il tuo codice qui sotto
# Usa istruzioni if-else annidate o else if per determinare il prezzo del biglietto
# in base alle regole sull'età forniteQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici (AND, OR)Operatori logici Parte 2 (NOT)Ripasso - Logica sempliceLogica vettorializzata Parte 1Logica vettorializzata Parte 27Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dell'utente10FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz13Vettori: argomenti avanzati
Slicing e indicizzazione dei vettoriIndicizzazione logicaAritmetica dei vettori e ricicloL’operatore %in%2Variabili e tipi di dati
Tipo di dato numericoTipo di dato interoTipo di dato carattereTipo di dato logicoControllo dei tipi di datoConvenzioni di denominazioneValori mancanti: NARiepilogo - Creazione di variabili8Cicli
Ciclo forCiclo whilebreaknext (continue)Riepilogo - FattorialeGenerazione di sequenze (seq, :)Cicli annidatiRiepilogo - Input dinamico3Operatori Parte 1
Operatori aritmeticiDivisione intera e moduloOperatori di assegnazioneRiepilogo - Matematica sempliceOperatori di confronto6I/O di base
Stampare l'outputcat per l'outputOutput con variabiliLeggere l'input con readline()Nozioni di base sulla conversione dei tipiRiepilogo - Calcolatore dell'etàRiepilogo - Vero o falso9Funzioni
Dichiarare una funzioneArgomenti della funzioneValori di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti dei parametriEsercitati da solo: Compilatore R online