Verschachteltes If - Else
Teil des Abschnitts Grundlagen der R-Journey von Coddy. Lektion 25 von 78.
Manchmal reichen zwei Optionen nicht aus. Was ist, wenn Sie mehrere Bedingungen prüfen und jede anders behandeln müssen? Sie können eine if-else-Anweisung in einen anderen if- oder else-Block einfügen, um komplexere Entscheidungspfade zu erstellen.
score <- 85
if (score >= 90) {
print("Grade: A")
} else {
if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}
}R prüft zuerst, ob die Punktzahl 90 oder höher ist. Da 85 diese Bedingung nicht erfüllt, wechselt es zum else-Block.
Im Inneren prüft ein weiteres if, ob die Punktzahl mindestens 80 beträgt. Da 85 diesen Test besteht, gibt es „Grade: B“ aus.
R bietet eine sauberere Möglichkeit, dies mit else if zu schreiben:
score <- 85
if (score >= 90) {
print("Grade: A")
} else if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}Beide Ansätze funktionieren auf die gleiche Weise, aber else if hält Ihren Code flacher und einfacher zu lesen. Sie können so viele else if-Blöcke wie nötig verketten, und R wird nur den ersten Block ausführen, dessen Bedingung wahr ist.
Aufgabe
EinfachErstellen Sie ein Ticketpreissystem mit verschachtelten if-else- oder else if-Anweisungen, um den Ticketpreis basierend auf dem Alter zu bestimmen.
Ihnen wird die folgende Variable zur Verfügung gestellt:
age <- 25Schreiben Sie eine Reihe von Bedingungen, um den Ticketpreis basierend auf diesen Regeln zu bestimmen und auszugeben:
- Wenn das Alter kleiner als 5 ist, geben Sie
"Free"aus - Wenn das Alter zwischen 5 und 12 liegt (einschließlich), geben Sie
"$5"aus - Wenn das Alter zwischen 13 und 17 liegt (einschließlich), geben Sie
"$8"aus - Wenn das Alter zwischen 18 und 64 liegt (einschließlich), geben Sie
"$12"aus - Wenn das Alter 65 oder älter ist, geben Sie
"$7"aus
Verwenden Sie die Funktion print() für Ihre Ausgabe.
Probier es selbst
# Bereitgestellte Variable
age <- 25
# TODO: Schreiben Sie Ihren Code unten
# Verwenden Sie verschachtelte if-else- oder else-if-Anweisungen, um den Ticketpreis zu bestimmen
# basierend auf den angegebenen AltersregelnDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechner zum Teilen der Rechnung
BegrüßungsnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion13Fortgeschrittene Vektoren
Vektor-Slicing und -IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahliger DatentypZeichen-DatentypLogischer DatentypDatentypen überprüfenNamenskonventionenFehlende Werte: NAZusammenfassung – Variablen erstellen5Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Wiederholung – FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenWiederholung – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivision und ModuloZuweisungsoperatorenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit printcat zur AusgabeAusgabe mit VariablenEingaben mit readline() lesenGrundlagen der TypkonvertierungRückblick – AltersrechnerRückblick – Wahr oder falsch9Funktionen
Eine Funktion deklarierenFunktionsargumenteRückgabewerteWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardparameterwerteÜbe selbstständig: Online-R-Compiler