Logische Operatoren (AND, OR)
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 17 von 78.
Vergleichsoperatoren ermöglichen es Ihnen, eine einzelne Bedingung zu prüfen, aber was ist, wenn Sie mehrere Bedingungen gleichzeitig prüfen müssen? Logische Operatoren erlauben es Ihnen, Bedingungen zu kombinieren und komplexere Ausdrücke zu erstellen.
Der UND-Operator (&&) gibt nur dann TRUE zurück, wenn beide Bedingungen wahr sind:
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUEWenn eine der Bedingungen falsch ist, wird der gesamte Ausdruck falsch. Betrachten Sie es so, dass alle Bedingungen erfüllt sein müssen.
Der OR-Operator (||) gibt TRUE zurück, wenn mindestens eine Bedingung wahr ist:
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUEDer OR-Operator gibt nur dann false zurück, wenn beide Bedingungen false sind. Hier ist eine kurze Referenz:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
Sie können mehrere Bedingungen in einem einzigen Ausdruck kombinieren, indem Sie diese Operatoren zusammen verwenden, um leistungsstarke logische Prüfungen für Ihre Programme zu erstellen.
Aufgabe
EinfachBestimmen Sie die Berechtigung für verschiedene Aktivitäten unter Verwendung der Operatoren UND (&&) und ODER (||).
Ihnen werden die folgenden Variablen zur Verfügung gestellt:
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUEVerwenden Sie logische Operatoren, um die folgenden Variablen zu erstellen:
- Erstellen Sie eine Variable namens
can_enter_club, dieTRUEspeichert, wenn die Person 18 Jahre oder älter ist UND ein Mitglied ist - Erstellen Sie eine Variable namens
can_watch_movie, dieTRUEspeichert, wenn die Person 18 Jahre oder älter ist ODER eine Erlaubnis hat - Erstellen Sie eine Variable namens
can_attend_event, dieTRUEspeichert, wenn die Person ein Ticket hat UND ein Mitglied ist - Erstellen Sie eine Variable namens
gets_discount, dieTRUEspeichert, wenn die Person ein Mitglied ist ODER unter 18 Jahre alt ist (Alter kleiner als 18) - Erstellen Sie eine Variable namens
vip_access, dieTRUEspeichert, wenn die Person 18 Jahre oder älter ist UND ein Mitglied ist UND ein Ticket hat
Verwenden Sie die Funktion print(), um can_enter_club, can_watch_movie, can_attend_event, gets_discount und vip_access in genau dieser Reihenfolge anzuzeigen.
Spickzettel
Logische Operatoren ermöglichen es Ihnen, mehrere Bedingungen in R zu kombinieren.
Der AND-Operator (&&) gibt nur dann TRUE zurück, wenn beide Bedingungen wahr sind:
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUEDer OR-Operator (||) gibt TRUE zurück, wenn mindestens eine Bedingung wahr ist:
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUEWahrheitstabelle für logische Operatoren:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
Sie können mehrere Bedingungen in einem einzigen Ausdruck kombinieren, um komplexe logische Prüfungen zu erstellen.
Probier es selbst
# Gegebene Variablen
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE
# TODO: Schreibe deinen Code unten
# Erstelle die folgenden Variablen unter Verwendung logischer Operatoren (&&, ||):
# 1. can_enter_club - TRUE, wenn age >= 18 UND is_member
# 2. can_watch_movie - TRUE, wenn age >= 18 ODER has_permission
# 3. can_attend_event - TRUE, wenn has_ticket UND is_member
# 4. gets_discount - TRUE, wenn is_member ODER age < 18
# 5. vip_access - TRUE, wenn age >= 18 UND is_member UND has_ticket
# Drucke die Ergebnisse in der Reihenfolge aus
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)Diese 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 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte