news 2026/8/29 21:16:55

Python 零基础入门第六章:条件测试与 if 语句

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 零基础入门第六章:条件测试与 if 语句

专栏:Python 零基础全套入门教程 🎯 本章定位:程序实现分支逻辑的核心,让代码拥有判断能力,是业务逻辑、数据过滤、交互程序必备语法,后续函数、爬虫、自动化脚本大量依赖 if 判断。

✅ 学习目标

  1. 理解条件测试的本质:布尔值 True / False
  2. 熟练使用 if、if‑else、if‑elif‑else 分支结构
  3. 掌握比较运算符、逻辑运算符 and/or/not
  4. 学会判断列表是否为空、成员判断 in /not in
  5. 规避 if 语句常见缩进、多条件判断易错坑

一、条件测试基础

所有 if 语句的核心,都是条件测试表达式,表达式运行结果只有两种:True(条件成立)、False(条件不成立)。Python 拿到布尔结果,决定执行哪一段代码。

1.1 比较运算符

运算符说明
==判断相等,注意不是赋值=
!=判断不相等
>大于
<小于
>=大于等于
<=小于等于

示例代码:

age = 18 print(age == 18) # True print(age != 20) # True print(age > 20) # False

易错点:=是赋值,==才是相等判断,新手非常容易写混。字符串比较区分大小写。

name = "Python" print(name == "python") # False,大小写不一样

1.2 逻辑运算符 and /or/not

  • and:两边条件同时为 True,整体结果才为 True
  • or:任意一个条件为 True,整体结果为 True
  • not:取反,True 变 False,False 变 True
age = 22 # and示例 print(age >18 and age <30) # True # or示例 score = 59 print(score <60 or score >=90) # True # not示例 is_login = False print(not is_login) # True

1.3 成员运算符 in /not in

判断某个元素是否存在于列表、字符串等序列当中。

fruits = ["apple","banana","orange"] print("apple" in fruits) # True print("grape" not in fruits) # True

1.4 Python 中视为 False 的值

除了明确的 False,下面这些对象在条件测试中会被当作假:0""空字符串、[]空列表、()空元组、{}空字典、None

if 0: print("不会执行") if []: print("不会执行") if "hello": print("非空字符串为真")

二、if 分支语句结构

Python 依靠缩进区分代码块,if 后面必须加冒号:,冒号换行之后缩进的代码,才属于 if 内部逻辑。

2.1 单 if 语句

条件成立,执行内部代码;不成立直接跳过。

age = 20 if age >= 18: print("成年人,可以浏览内容")

2.2 if‑else 二选一逻辑

条件成立执行 if 块,否则执行 else 块,两个分支只会走其中一个。

age =16 if age >=18: print("成年") else: print("未成年")

2.3 if‑elif‑else 多分支判断

适合多种互斥场景,从上往下依次判断,命中一个条件就结束整个结构。

注意:elif 可以写多个;else 是可选,可以省略。

score = 85 if score >=90: print("优秀") elif score >=80: print("良好") elif score >=60: print("及格") else: print("不及格")

小提示:条件顺序很关键,范围大的条件不要写在前面,否则后面逻辑永远不会执行。

错误示范:

score =95 if score >=60: print("及格") elif score >=90: print("优秀") # 永远执行不到

2.4 嵌套 if 语句

if 内部还可以继续写 if,用于多层判断。

age = 22 has_id = True if age >=18: if has_id: print("允许进入网吧") else: print("年龄达标,但没有身份证") else: print("未成年禁止进入")

三、实战常用场景

场景 1:判断列表是否为空

实际开发经常需要先判断列表有没有数据,避免后续遍历报错。

user_list = [] if user_list: for user in user_list: print(user) else: print("当前没有用户数据")

场景 2:结合 in 做过滤

keywords = ["bug","error"] msg = "程序出现error,请重启" if "error" in msg: print("检测到报错信息")

场景 3:多条件综合判断

username = "admin" password = "123456" if username == "admin" and password == "123456": print("登录成功") else: print("账号密码错误")

四、if 语句高频易错总结

  1. 忘记写冒号:,报语法错误;
  2. 缩进混乱:同一个代码块缩进空格数量必须统一,推荐 4 个空格;
  3. 将赋值=误写成判断==
  4. elif 条件顺序颠倒,导致分支失效;
  5. =判断字符串是否在列表,应该用in
  6. 多个独立 if 和 if‑elif 混淆:多个 if 会全部判断;elif 命中就停止。
# 多个独立if,所有条件都会校验 num = 5 if num > 0: print("大于0") if num > 2: print("大于2") # if‑elif,只会执行一条 if num >0: print("大于0") elif num>2: print("大于2") #不会执行

📝本章实战习题

基础题

  1. 定义变量 score,接收分数;使用 if‑elif‑else 输出评级:≥90 优秀,80‑89 良好,60‑79 及格,小于 60 不及格。
  2. 定义列表 names = ["张三","李四","王五"],输入一个名字,判断名字是否在列表,打印 “存在” 或者 “不存在”。
  3. 定义 age 变量,如果 age 大于等于 18 打印成年,否则打印未成年。

进阶题

  1. 用户输入用户名和密码,用户名等于 root,密码等于 666888,打印登录成功;否则打印账号密码错误。
  2. 写程序:判断年份是否闰年。规则:能被 4 整除且不能被 100 整除,或者能被 400 整除。

思考题

  1. 有列表 data = [12,34,"",0,False],遍历列表,使用 if 过滤,只打印在条件测试中为 True 的元素。

✅参考答案

#习题1 score = 78 if score >=90: print("优秀") elif score >=80: print("良好") elif score >=60: print("及格") else: print("不及格") #习题2 names = ["张三","李四","王五"] input_name = "李四" if input_name in names: print("存在") else: print("不存在") #习题3 age =20 if age >=18: print("成年") else: print("未成年") #习题4 user = "root" pwd = "666888" if user == "root" and pwd == "666888": print("登录成功") else: print("账号密码错误") #习题5 year = 2026 if (year %4 ==0 and year %100 !=0) or year%400 ==0: print("闰年") else: print("平年") #习题6 data = [12,34,"",0,False] for item in data: if item: print(item)

💖点赞 + 收藏 + 关注,持续更新 Python 零基础全套教程,下一章学习字典 Dict。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 21:10:21

携程前端社招面试全记录:高频考点与项目深挖实战

携程前端社招这事儿&#xff0c;我自己走完一轮之后最大的感受是&#xff1a;它不像大厂纯八股、也不像小厂纯看项目&#xff0c;而是特别看重你把“业务场景”和“技术方案”结合讲清楚的能力。整轮面试既有基础题、有手写题&#xff0c;也有项目追问&#xff0c;节奏比较紧凑…

作者头像 李华
网站建设 2026/8/29 20:58:36

基于SpringBoot的街道摊贩管理系统(毕设源码+文档)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/8/29 20:40:49

数学建模竞赛实战:从数据处理到算法选型的完整技术链路解析

1. 从“思路点播”到“实战复盘”&#xff1a;我们如何拆解一道数学建模赛题又到了一年一度的数学建模竞赛季&#xff0c;后台和社群里关于“华中杯A题”的讨论又多了起来。看到“思路点播”这个词&#xff0c;我特别有感触。很多同学在备赛时&#xff0c;总希望拿到一份“标准…

作者头像 李华
网站建设 2026/8/29 20:37:08

微信小程序安全开发与合规实践指南

简介&#xff1a;微信小程序作为主流轻应用形态&#xff0c;其安全机制与合规开发是前端工程师必须掌握的基础能力。理解WXML/WXSS/JS三端编译原理、域名白名单校验、HTTPS强制策略及登录态加密逻辑&#xff0c;是构建高可信度小程序的技术前提。这些机制不仅保障用户数据安全&…

作者头像 李华
网站建设 2026/8/29 20:34:33

数学建模实战:熵权TOPSIS与随机森林分析在线教学效果

1. 项目概述&#xff1a;一次从数据到洞察的完整建模实战 最近在整理过去的项目资料&#xff0c;翻到了2021年参与中青杯数学建模C题“在线教学的分析与研究”的完整求解过程。这个题目在当时非常应景&#xff0c;直接切入了线上教育这个热点。很多朋友&#xff0c;尤其是刚开始…

作者头像 李华