Python3流程控制入门:if条件语句/for循环/while循环,新手能直接用的代码指南

卡里笔记
• 阅读 2

Python3流程控制入门:if条件语句/for循环/while循环,新手能直接用的代码指南

想写一个自动猜数字的小游戏?想批量处理 100 个文件的命名?Python 的「条件语句」和「循环语
句」就是解决‘判断逻辑’和‘重复操作’的核心工具 —— 今天从基础到实战,带你吃透这 2 类高
频语法!

一、条件语句

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: Python3流程控制入门:if条件语句/for循环/while循环,新手能直接用的代码指南

if语句执行流程:

开始判断条件

  • 条件为 true → 执行条件代码 → 结束
  • 条件为 false → 直接 结束

核心要点:

  • 单一路径:从头到尾只走一条分支
  • 二选一:要么执行代码块,要么跳过
  • 一次性:执行后立即结束,不会循环判断
  • 结果导向:完全取决于条件的布尔值

搞清楚了流程之后,直接上实战

1. 猜数字游戏(if-elif-else)

number = 4
guess = 0
print("数字猜谜游戏!")
while guess != number:
    guess = int(input("请输入你猜的数字:"))
    if guess < number:
        print("你猜的数字小了!")
    elif guess > number:
        print("你猜的数字大了!")
    else:
        print("恭喜你猜对了!")

2. 数字整除判断(嵌套if-else)

num = int(input("请输入一个数字: "))
if num % 2 == 0:
    if num % 3 == 0:
        print("这个数字可以被2和3整除")
    else:
        print("这个数字可以被2整除,但不能被3整除")
else:
    if num % 3 == 0:
        print("这个数字可以被3整除,但不能被2整除")
    else:
        print("这个数字不能被2和3整除")

注意

  • 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
  • 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 3、在 Python 中没有 switch...case 语句,但在 Python3.10 版本添加了
       match...case,功能也类似,详见下文。

    3. 状态判断(match-case)

    def http_error(status):
      match status:
          case 400:
              return "Bad request"
          case 404:
              return "Not found"
          case 418:
              return "I'm a teapot"
          case _:
              return "Something's wrong with the internet"
    

mystatus = int(input("请输入你的状态: ")) print(http_error(mystatus))

Python 3.10 增加了 match...case 的条件判断,不需要再使用一连串的 if-else 来判断了,不仅进一步提高了代码的运行效率,而且 match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过, 可以匹配一切。 
## 二、循环语句
Python 中的循环语句有 for 和 while。
接下来具体讲讲两个循环语句的代码执行逻辑:

**While循环和for循环的代码执行逻辑如下:**
![在这里插入图片描述](https://img-hello-world.oss-cn-beijing.aliyuncs.com/40f5ff3f30deb75c446292c198b4bcd7.png)
**while循环执行流程:**

**开始** → **初始化变量** → **判断条件** →
- 条件为 **true** → 执行循环体 → **更新变量** → 返回判断条件
- 条件为 **false** → 直接 **结束**

**核心机制:**
- **先判断后执行**:每次循环前先检查条件
- **变量控制**:必须初始化并在循环内更新变量
- **循环条件**:条件为true时持续执行循环体
- **自动循环**:执行完循环体后自动返回条件判断
- **条件为false时退出**:循环终止的唯一条件

**特点:** 循环次数由变量变化和条件共同控制,适合未知次数的循环场景

**for循环执行流程:**

**开始** → **初始化变量** → **检查条件** →
- 条件为 **true** → 执行循环体 → **更新变量** → 返回检查条件
- 条件为 **false** → 直接 **结束**

**核心特征:**
- 自动迭代:变量自动更新(如 `a += 1`)
- 条件控制:每次循环前检查条件
- 循环往复:条件为真时重复执行循环体
- 有限次数:循环次数由初始值和条件决定

**典型模式:** 初始化→检查→执行→更新→再检查→...→终止

**接下来通过几个循环语句的案例加深理解:**
### 1. 数字求和(while循环)
```python
n = int(input("请输入一个数字: "))
sum = 0
counter = 1
while counter <= n:
    sum += counter
    counter += 1
print("1到%d之和为%d" % (n, sum))

运行逻辑: 程序首先读取用户输入的数字n,初始化累加器sum为0和计数器counter为1;然后进入while循环,只要counter小于等于n就执行循环体:将counter值累加到sum中,并将counter加1;循环结束后输出1到n的累加结果。

2. 循环计数(while-else)

count = 0
while count < 5:
    print("小于5")
    count += 1
else:
    print(count, "大于5")

运行逻辑: 程序初始化count为0,进入while循环后只要count小于5就打印"小于5"并将count加1;当count达到5时循环条件不满足,循环正常结束,随后执行else块打印"5 大于5"。

3. 范围输出(for-else)

for num in range(1, 5):
    print(num)
else:
    print("Finally finished!")

运行逻辑: 程序使用for循环遍历range(1, 5)生成的数字序列1、2、3、4,依次打印每个数字;当循环正常结束后(非break中断),执行else块打印"Finally finished!"。

4. 循环中断(for-break)

sites = ["Baidu", "Google", "Runoob", "Taobao"]
for site in sites:
    if site == "Runoob":
        print("菜鸟教程!")
        break
    print("循环数据 " + site)
else:
    print("没有循环数据!")
print("完成循环!")

运行逻辑: 程序遍历sites列表中的每个站点,当遇到"Runoob"时打印"菜鸟教程!"并通过break立即终止循环,因此不会执行else块;最后打印"完成循环!"结束程序。由于循环被break中断,else部分的"没有循环数据!"不会输出。

5. 索引遍历(range+len)

a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
for i in range(len(a)):
    print(i, a[i])

运行逻辑: 程序通过range(len(a))生成索引序列0到4,使用for循环依次遍历每个索引值,在每次迭代中同时打印当前索引i和对应的列表元素a[i],实现带索引的列表遍历输出。

6. 指定步长(range步长参数)

for i in range(-10, -100, -30):
    print(i)

运行逻辑: 程序使用for循环遍历range(-10, -100, -30)生成的等差数列,从-10开始,以-30为步长递减,依次输出-10、-40、-70三个数值,当下一个值-100达到终止条件-100(不包括该值)时循环结束。

7. 循环中断(while-break)

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循环结束。')

运行逻辑: 程序从n=5开始while循环,每次先将n减1,当n减到2时满足if条件,执行break立即终止循环,因此只会输出4和3(n=2时被break中断),最后打印'循环结束。'。

8. 跳过当前循环(while-continue)

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')

运行逻辑: 程序从n=5开始while循环,每次先将n减1,当n等于2时遇到continue语句,跳过本次循环的后续代码(不打印),直接进入下一次循环条件判断,因此输出结果为4、3、1、0,最后打印'循环结束。'。

Python流程控制语句对比表

特性 if条件语句 for循环 while循环
用途 条件判断,根据不同条件执行不同代码块 遍历序列或已知次数的循环 条件满足时的循环,次数不确定
语法 if-elif-else for 变量 in 序列: while 条件:
执行机制 从上到下判断条件,执行第一个为True的代码块 按顺序遍历序列中的每个元素 只要条件为True就重复执行
循环控制 不循环,只执行一次 自动迭代,无需手动控制 需要手动更新循环条件
适用场景 分支选择、状态判断、条件验证 遍历列表、字符串、范围等可迭代对象 等待输入、游戏循环、直到满足条件
是否需要终止条件 不需要 自动终止 必须设置终止条件,否则可能无限循环
典型示例 成绩等级判断、用户权限检查 处理文件列表、生成数字序列 猜数字游戏、菜单选择
可配合的语句 elif, else else, break, continue else, break, continue
执行次数 1次(只执行匹配的代码块) 固定次数(由序列长度决定) 不确定次数(由条件决定)
内存使用 低(只执行一次) 中等(需要存储序列) 低(只检查条件)

选择指南:

  • 用if:需要根据不同条件执行不同操作时
  • 用for:知道要循环多少次,或者需要遍历集合中的每个元素时
  • 用while:不知道具体循环次数,需要持续执行直到满足某个条件时

组合使用:

  • if经常嵌套在forwhile循环内部进行条件判断
  • forwhile可以互相转换,但for通常更简洁安全
  • 三种语句都可以配合breakcontinue进行流程控制

    使用提示

  • if-elif-else:用于多条件判断
  • match-case:Python 3.10+ 新特性,替代多if判断
  • while-else:循环正常结束执行else
  • for-else:同上,用于for循环
  • break:完全退出循环
  • continue:跳过当前循环,继续下一次
  • range(start, stop, step):生成数字序列,step可为负数

    最后的话

    笔记整理不易,如果觉得对你有帮助,请点个赞支持一下哦!
    遇到问题? 欢迎在评论区留言,我会尽力解答。
    想要更多? 关注我,持续获取我的学习笔记干货!
点赞
收藏
评论区
推荐文章
Karen110 Karen110
4年前
一篇文章带你了解JavaScript While 循环
循环可以执行一个代码块,只要指定条件为真,循环就可以执行代码块。一、While循环while只要指定条件的值为真,循环就会执行指定语句。while循环的语法while(condition)statement//只要条件为真,就执行代码例:项目JavaScriptwhile语句只要n小于5,就遍历一段代码:varn0;while(n<
CuterCorley CuterCorley
4年前
C语言入门系列之5.循环控制结构程序
@一、概述循环结构是程序中一种很重要的结构。其特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构:goto语句和if语句构成循环;while语句;dowhile语句;for语句。二、got
Stella981 Stella981
3年前
Python小白零基础入门 —— 条件语句和循环语句
Python小白零基础入门——条件语句和循环语句点击上方“Python读数”,选择“星标”公众号重磅干货,第一时间送达Python零基础入门的第五篇文章,给大家介绍一下Python中的条件语句和循环语句。条件语句编程时经常需要检查一系列条件,并据此决定采取什
Stella981 Stella981
3年前
Python技巧之循环体中的条件分支
Python的‘for’和‘while’循环支持‘else’分句,分句仅在循环体没有触发‘break’语句并终止时执行。Python'sforandwhileloopssupportanelseclausethatexecutesonlyiftheloopsterminates
Easter79 Easter79
3年前
Swift讲解专题六——流程控制
Swift讲解专题六——流程控制一、引言      一种编程语言的强大与否,很大程度上取决于其提供的程序流程控制方案,就如使用汇编语言实现复杂的程序流程是一件痛苦的事情。Swift中提供了许多强大的流程控制语句,例如快速遍历forin,while循环,repeatwhile循环,switch选择等,需
Wesley13 Wesley13
3年前
Java入门(五):控制流程
在Java中,使用条件语句和循环结构确定控制流程,在本文中,主要包括块作用域、条件语句、循环结构、中断循环这四部分。一、块作用域块,也叫复合语句,是指由一对大括号括起来的若干条Java语句。块决定了变量的作用域。一个块可以嵌套多个块。二、条件语句如果判断超过三层,建议拆分开来写,这样更加清晰。packagejav
Wesley13 Wesley13
3年前
Java05
Java05Java基础语法(四)循环结构循环结构(重复/迭代):根据条件重复执行部分语句1、while循环结构while(条件表达式){     循环体语句;}1)语法:a、while是关键字        b、“条件表达式”必须用括号括起来        c、“{}”表示循环的控制范围,若没有“{}”,whil
小万哥 小万哥
1年前
Python 循环
Python有两个基本的循环命令:while循环for循环while循环使用while循环,我们可以在条件为真的情况下执行一组语句。示例,打印i,只要i小于6:pythoni1whilei<6:print(i)i1注意:记得增加i的值,否则循环将永远继续
小万哥 小万哥
1年前
Kotlin 控制流和数组操作详解
Kotlin的when表达式提供了一种比if..else更清晰的方式来选择执行多个代码块之一,类似于Java的switch语句但更为强大和灵活。while循环允许在条件为真时重复执行代码块,而do..while循环则保证至少执行一次。break和continue可用于控制循环流程:前者终止循环,后者跳过当前迭代。数组则用于存储多个值,可以创建、访问、修改数组元素及遍历整个数组。这些构造使得编写简洁且高效的代码成为可能。
卡里笔记
卡里笔记
Lv1
网络空间安全专业在读,专注Python开发与网络安全学习。记录Python报错调试过程,复盘CTF靶场实战案例。开发工具使用VSCode、Burpsuit与Kali系统。不定期更新学习笔记,欢迎讨论大学生技术成长路径。
文章
2
粉丝
0
获赞
1