第五章:条件判断与分支语句

本章将结合运算符,学习 R 语言的条件判断与分支语句。这是编程中最核心的逻辑控制功能,能让程序根据不同条件执行不同代码,实现真正的 "智能判断"。

一、什么是条件判断?

条件判断就是:
如果满足某个条件,就执行一段代码;否则执行另一段代码。

生活中的例子:

  • 如果分数 ≥ 60 → 及格
  • 否则 → 不及格

在 R 语言中,实现这个功能的语句是:
if / else if / else

二、最基础:if 语句(单条件)

语法

r 复制代码
if (条件) {
  条件成立时执行的代码
}

示例

r 复制代码
score <- 85

# 如果分数大于等于60,输出及格
if (score >= 60) {
  print("成绩及格!")
}

运行结果:

txt 复制代码
[1] "成绩及格!"

三、常用:if + else(二选一)

语法

r 复制代码
if (条件) {
  条件成立
} else {
  条件不成立
}

示例

r 复制代码
score <- 85

# 如果分数大于等于60,输出及格
score <- 55

if (score >= 60) {
  print("及格")
} else {
  print("不及格")
}

运行结果:

txt 复制代码
[1] "不及格"

四、多条件:if + else if + else(多分支)

适合多个等级判断,如:优秀、良好、及格、不及格。

语法

r 复制代码
if (条件1) {
} else if (条件2) {
} else if (条件3) {
} else {
}

示例

r 复制代码
score <- 88

if (score >= 90) {
  print("等级:优秀")
} else if (score >= 80) {
  print("等级:良好")
} else if (score >= 60) {
  print("等级:及格")
} else {
  print("等级:不及格")
}

运行结果:

txt 复制代码
[1] "等级:良好"

五、结合逻辑运算符(多条件同时判断)

可以用 &(同时满足)、|(满足一个即可)组合条件。

r 复制代码
age <- 20
is_student <- TRUE

if (age >= 18 & is_student == TRUE) {
  print("成年学生")
}

六、综合实战练习(本章重点 ✅ 可直接复制运行)

结合运算符 + 变量 + 条件判断,做一个完整的成绩计算与等级判断程序。

r 复制代码
# ==============================
# R 综合练习:成绩计算 + 等级判断
# 结合:变量 + 运算符 + 条件判断
# ==============================

# 1. 定义三科成绩
math <- 92
chinese <- 85
english <- 78

# 2. 计算总分与平均分(算术运算符)
total <- math + chinese + english
average <- total / 3

# 3. 输出结果
print(paste("总分:", total))
print(paste("平均分:", round(average, 2)))

# 4. 等级判断(条件分支语句)
if (average >= 90) {
  print("最终评价:优秀 🎉")
} else if (average >= 80) {
  print("最终评价:良好 👍")
} else if (average >= 60) {
  print("最终评价:及格 ✔️")
} else {
  print("最终评价:不及格 ❌")
}

运行结果:

txt 复制代码
[1] "总分: 255"
[1] "平均分: 85"
[1] "最终评价:良好 👍"
相关推荐
NiceCloud喜云3 分钟前
ClaudeAPI 接入 n8n / Dify / Open WebUI 实战:Base URL 配置、调用示例与排错
开发语言·ai·chatgpt·aigc
庵中十三居士10 分钟前
【纯AI无人工修改】AI Agent从0到1实战:50行Python手写核心循环,一次看懂所有Agent框架的底层逻辑
开发语言·人工智能·python
甄同学22 分钟前
第二十篇:MCP协议集成,Claude Code如何扩展AI Agent的能力边界
开发语言·人工智能·qt
@atweiwei1 小时前
Langchainrust:中LLM-as-a-Judge,用 Rust 实现一套 LLM 评估系统
开发语言·后端·ai·rust·llm·rag
风华圆舞1 小时前
鸿蒙HarmonyOS 多模态输入实战 —— 图片与文档输入智谱/DeepSeek
开发语言·人工智能·华为·php·harmonyos·arkts·arkui
Ljwuhe1 小时前
C++——模板进阶
开发语言·c++
中国搜索直付通1 小时前
避开直付通选型暗礁:二级商户的合规生存与背景甄别
java·大数据·开发语言·人工智能·游戏
Hesionberger2 小时前
LeetCode406:重建身高队列精髓解析
开发语言·数据结构·python·算法·leetcode
Qimooidea2 小时前
祁木 CAD Translator 深度评测:从参数解析到工程交付实战
java·开发语言·人工智能·机器翻译
小白学大数据2 小时前
企业内网场景下 Python 自定义 CA 证书信任链的正确配置方法
开发语言·网络·python·信任链