Opérateurs logiques (AND, OR)
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 17 sur 78.
Les opérateurs de comparaison vous permettent de vérifier une seule condition, mais que se passe-t-il si vous devez vérifier plusieurs conditions à la fois ? Les opérateurs logiques vous permettent de combiner des conditions et de créer des expressions plus complexes.
L'opérateur ET (&&) retourne TRUE uniquement lorsque les deux conditions sont vraies :
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUESi l'une des deux conditions est fausse, l'expression entière devient fausse. Considérez cela comme le fait d'exiger que toutes les conditions soient remplies.
L'opérateur OU (||) renvoie TRUE lorsqu'au moins une condition est vraie :
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUEL'opérateur OR ne renvoie false que lorsque les deux conditions sont false. Voici une référence rapide :
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
Vous pouvez combiner plusieurs conditions dans une seule expression en utilisant ces opérateurs ensemble, créant ainsi des vérifications logiques puissantes pour vos programmes.
Défi
FacileDéterminez l'éligibilité pour différentes activités en utilisant les opérateurs ET (&&) et OU (||).
Les variables suivantes vous sont fournies :
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUEUtilisez des opérateurs logiques pour créer les variables suivantes :
- Créez une variable nommée
can_enter_clubqui stockeTRUEsi la personne a 18 ans ou plus ET est membre - Créez une variable nommée
can_watch_moviequi stockeTRUEsi la personne a 18 ans ou plus OU a une permission - Créez une variable nommée
can_attend_eventqui stockeTRUEsi la personne a un ticket ET est membre - Créez une variable nommée
gets_discountqui stockeTRUEsi la personne est membre OU a moins de 18 ans (âge inférieur à 18) - Créez une variable nommée
vip_accessqui stockeTRUEsi la personne a 18 ans ou plus ET est membre ET a un ticket
Utilisez la fonction print() pour afficher can_enter_club, can_watch_movie, can_attend_event, gets_discount et vip_access dans cet ordre exact.
Aide-mémoire
Les opérateurs logiques vous permettent de combiner plusieurs conditions en R.
L'opérateur ET (&&) renvoie TRUE uniquement lorsque les deux conditions sont vraies :
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUEL'opérateur OU (||) renvoie TRUE lorsqu'au moins une condition est vraie :
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUETable de vérité pour les opérateurs logiques :
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
Vous pouvez combiner plusieurs conditions dans une seule expression pour créer des vérifications logiques complexes.
Essayez vous-même
# Variables fournies
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE
# À FAIRE : Écrivez votre code ci-dessous
# Créez les variables suivantes en utilisant des opérateurs logiques (&&, ||) :
# 1. can_enter_club - TRUE si age >= 18 ET is_member
# 2. can_watch_movie - TRUE si age >= 18 OU has_permission
# 3. can_attend_event - TRUE si has_ticket ET is_member
# 4. gets_discount - TRUE si is_member OU age < 18
# 5. vip_access - TRUE si age >= 18 ET is_member ET has_ticket
# Afficher les résultats dans l'ordre
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut