Menu
CoddyTech

逻辑运算符(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  # TRUE

OR 运算符只有在两个条件都为 false 时才会返回 false。下面是一个快速参考:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

你可以在一个表达式中结合使用这些运算符来组合多个条件,从而为程序构建强大的逻辑检查。

challenge icon

挑战

简单

使用 AND(&&)和 OR(||)运算符,判断是否符合参加不同活动的条件。

已提供以下变量:

age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

使用逻辑运算符创建以下变量:

  1. 创建一个名为 can_enter_club 的变量。如果此人年满 18 岁并且是会员,则将其值设为 TRUE
  2. 创建一个名为 can_watch_movie 的变量。如果此人年满 18 岁或者获得了许可,则将其值设为 TRUE
  3. 创建一个名为 can_attend_event 的变量。如果此人持有门票并且是会员,则将其值设为 TRUE
  4. 创建一个名为 gets_discount 的变量。如果此人是会员或者未满 18 岁(年龄小于 18 岁),则将其值设为 TRUE
  5. 创建一个名为 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)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: R 在线编译器