Menu
CoddyTech

嵌套 if-else

本课属于 Coddy R 学习旅程的“基础知识”单元。第 25 课,共 78 课。

有时,两个选项还不够。如果你需要检查多个条件,并对每个条件进行不同的处理,该怎么办?你可以在另一个 if 或 else 代码块中放入 if-else 语句,从而创建更复杂的决策路径。

score <- 85

if (score >= 90) {
  print("Grade: A")
} else {
  if (score >= 80) {
    print("Grade: B")
  } else {
    print("Grade: C or below")
  }
}

R 首先检查分数是否达到 90 分或以上。由于 85 不满足这个条件,程序会进入 else 代码块。

在里面,另一个 if 会检查分数是否至少为 80。由于 85 通过了这个测试,它会打印 "Grade: B"。

R 提供了一种更简洁的写法,可以使用 else if:

score <- 85

if (score >= 90) {
  print("Grade: A")
} else if (score >= 80) {
  print("Grade: B")
} else {
  print("Grade: C or below")
}

这两种方式的工作原理相同,但 else if 能让代码结构更扁平,也更容易阅读。你可以根据需要连接任意多个 else if 代码块,R 只会执行条件为真的第一个代码块。

challenge icon

挑战

简单

使用嵌套的 if-else 或 else if 语句,根据年龄确定票价,创建一个票价系统。

已提供以下变量:

age <- 25

编写一系列条件,根据以下规则确定并打印票价:

  • 如果年龄小于 5 岁,打印 "Free"
  • 如果年龄在 5 到 12 岁之间(含 5 岁和 12 岁),打印 "$5"
  • 如果年龄在 13 到 17 岁之间(含 13 岁和 17 岁),打印 "$8"
  • 如果年龄在 18 到 64 岁之间(含 18 岁和 64 岁),打印 "$12"
  • 如果年龄为 65 岁或以上,打印 "$7"

使用 print() 函数输出结果。

亲手试试

# 已提供变量
age <- 25

# TODO:在下方编写你的代码
# 使用嵌套的 if-else 或 else if 语句确定票价
# 根据给定的年龄规则
quiz icon自我测试

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

基础知识中的所有课

自己练习: R 在线编译器