逻辑运算符(AND、OR)
本课属于 Coddy R 学习旅程的“基础知识”单元。第 17 课,共 78 课。
比较运算符可以让你检查单个条件,但如果你需要同时检查多个条件,该怎么办?逻辑运算符可以让你组合条件,创建更复杂的表达式。
AND 运算符(&&)只有在两个条件都为真时才会返回 TRUE:
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUE如果任一条件为 false,整个表达式就会变成 false。你可以把它理解为所有条件都必须满足。
OR 运算符(||)在至少一个条件为真时返回 TRUE:
is_weekend <- TRUE
is_holiday <- FALSE
day_off <- is_weekend || is_holiday # TRUEOR 运算符只有在两个条件都为 false 时才会返回 false。下面是一个快速参考:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
你可以在一个表达式中结合使用这些运算符来组合多个条件,从而为程序构建强大的逻辑检查。
挑战
简单使用 AND(&&)和 OR(||)运算符,判断是否符合参加不同活动的条件。
已提供以下变量:
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE使用逻辑运算符创建以下变量:
- 创建一个名为
can_enter_club的变量。如果此人年满 18 岁并且是会员,则将其值设为TRUE - 创建一个名为
can_watch_movie的变量。如果此人年满 18 岁或者获得了许可,则将其值设为TRUE - 创建一个名为
can_attend_event的变量。如果此人持有门票并且是会员,则将其值设为TRUE - 创建一个名为
gets_discount的变量。如果此人是会员或者未满 18 岁(年龄小于 18 岁),则将其值设为TRUE - 创建一个名为
vip_access的变量。如果此人年满 18 岁并且是会员并且持有门票,则将其值设为TRUE
使用 print() 函数按以下顺序显示 can_enter_club、can_watch_movie、can_attend_event、gets_discount 和 vip_access。
亲手试试
# 已给定的变量
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE
# TODO: 在下方编写你的代码
# 使用逻辑运算符(&&、||)创建以下变量:
# 1. can_enter_club:如果 age >= 18 且 is_member,则为 TRUE
# 2. can_watch_movie:如果 age >= 18 或 has_permission,则为 TRUE
# 3. can_attend_event:如果 has_ticket 且 is_member,则为 TRUE
# 4. gets_discount:如果 is_member 或 age < 18,则为 TRUE
# 5. vip_access:如果 age >= 18、is_member 和 has_ticket 均成立,则为 TRUE
# 按顺序输出结果
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: R 在线编译器