Python 流程控制与基础应用教程

一、前言

本教程围绕 Python 中的 continuepass 语句,结合循环结构(forwhile),通过实际案例(阶乘、奖牌统计、水仙花数等),帮助你掌握流程控制逻辑与简单算法实现,快速上手 Python 编程。

二、核心语句与循环基础

(一)continue 语句——跳过本次循环

continue 用于跳过当前循环的剩余代码,直接进入下一轮循环。

1. 基础示例(遍历数字跳过特定值)

for i in range(1, 6):
    if i == 3:
        continue  # 当 i 为 3 时,跳过后续 print,进入下一轮循环
    print(i, "hello")

运行结果

1 hello
2 hello
4 hello
5 hello

2. 复杂场景(while 循环 + continue

var = 10
while var > 0:
    print('当前值:', var)
    var = var - 1
    if var == 5:
        continue  # var 为 5 时,跳过下方 print("Done!")
    print("Done!")

逻辑分析:当 var 减到 5 时,continue 会跳过 print("Done!"),直接进入下一次 while 判断。

3. 字符串遍历应用(跳过特定字符)

for letter in 'Python':
    if letter == 'h':
        continue  # 跳过字母 'h',不执行后续 print
    print('当前字母:', letter)

运行结果

当前字母: P
当前字母: y
当前字母: t
当前字母: o
当前字母: n

(二)pass 语句——占位符的艺术

pass空语句,不执行任何操作,主要用于保持程序结构完整(如未实现逻辑的函数、循环体)。

1. 语法结构示例(占位待完善逻辑)

def todo_function():
    pass  # 暂未实现功能,用 pass 占位,避免语法错误
while True:
    pass  # 无限循环占位,可后续补充逻辑

三、实战案例:循环与算法应用

(一)案例 1:求阶乘(for 循环实践)

题目:输入正整数 n,计算 n!n! = 1×2×…×n)。

代码实现

n = int(input())
s = 1
for i in range(1, n + 1):
    s *= i  # 等价于 s = s * i,累乘计算阶乘
print(s)

输入输出示例
输入 4,输出 244! = 1×2×3×4 = 24)。

(二)案例 2:统计奖牌(while 循环 + 多变量累加)

题目:输入天数 n,再输入 n 行金、银、铜牌数,统计总数与总奖牌数。

代码实现

n = int(input())
gold = silver = bronze = total = 0
for _ in range(n):
    a, b, c = map(int, input().split())  # 拆分并转换为整数
    gold += a
    silver += b
    bronze += c
    total = gold + silver + bronze  # 累加总奖牌数
print(gold, silver, bronze, total)

输入输出示例
输入:

3  
1 0 3  
3 1 0  
0 3 0  

输出:4 4 3 11(金 4、银 4、铜 3,总 11)。

(三)案例 3:水仙花数(数位拆分与判断)

题目:找出所有三位数的水仙花数(等于其各位数字立方和的数,如 153 = 1³ + 5³ + 3³)。

代码实现

for num in range(100, 1000):
    ge = num % 10  # 取个位
    shi = num // 10 % 10  # 取十位
    bai = num // 100  # 取百位
    if ge**3 + shi**3 + bai**3 == num:
        print(num, end=" ")

运行结果

153 370 371 407 

四、拓展练习(巩固知识)

  1. 输出偶数:遍历 1 - 100,用 continue 跳过奇数,输出所有偶数。
  2. 分离整数数位:输入整数,拆分出个位、十位、百位等(如输入 123,输出 3、2、1)。
  3. 插入元素:定义列表,通过循环与条件判断,按规则插入新元素(如在偶数后插入 -1)。

五、总结

  • continue 跳过本次循环剩余逻辑,快速控制循环流程;
  • pass 作为占位符,保持代码结构完整;
  • 结合 for/while 循环,可实现阶乘计算、数据统计、水仙花数查找等算法;

掌握这些基础,就能灵活处理 Python 流程控制场景,为复杂编程打下坚实基础。多练习案例,强化逻辑思维,你会逐渐爱上用 Python 解决问题!

2 条评论

  • @ 2025-6-10 21:09:14

    Python 流程控制之 break 与 continue 教程

    一、引言

    在 Python 编程中,循环结构(for 循环和 while 循环 )让我们可以重复执行一段代码,但有时我们需要灵活控制循环的执行流程,breakcontinue 语句就像循环的“调节器”,能帮我们实现更精细的逻辑控制。接下来,我们结合实例详细学习它们的用法。

    二、continue 语句——跳过本次循环,开启下一轮

    (一)基本概念

    continue 语句的作用是跳过当前循环中 continue 之后的代码,直接进入下一轮循环的条件判断(对于 for 循环,就是进入下一个元素的迭代;对于 while 循环,就是重新判断循环条件是否成立 )。可以把它想象成在循环里“中途刹车”,跳过当前这一轮的剩余步骤,赶紧进入下一轮。

    (二)代码示例与解析

    1. for 循环中使用 continue

    for i in range(1, 6):
        if i == 3:
            continue  # 当i等于3时,执行continue
        print(i, "hello")
    

    执行过程

    • i = 1 时,不满足 if 条件,执行 print,输出 1 hello
    • i = 2 时,同样不满足 if 条件,输出 2 hello
    • i = 3 时,满足 if 条件,执行 continue,跳过本次循环中 print 语句,直接进入下一轮循环(i = 4 的迭代 )。
    • i = 4 时,输出 4 helloi = 5 时,输出 5 hello最终输出
    1 hello
    2 hello
    4 hello
    5 hello
    

    2. while 循环中使用 continue

    var = 10
    while var > 0:
        print('当前值:', var)
        var = var - 1
        if var == 5:
            continue  # var减到5时,执行continue
        print("Done!")
    

    执行过程

    • 初始 var = 10,打印 当前值: 10var 变为 9,不满足 if 条件,打印 Done!
    • 后续 var 依次变为 8、7、6 时,流程类似,都会打印 当前值: 对应的数和 Done!
    • var 减到 5 时,执行 continue,跳过本次循环的 print("Done!"),直接进入下一轮循环判断(此时 var = 5,仍满足 var > 0 ,继续循环 )。
    • 接着 var 变为 4、3 等,又会正常执行 print("Done!") ,直到 var 变为 0,循环结束 。

    3. 遍历字符串时使用 continue

    for letter in 'Python':
        if letter == 'h':
            continue  # 遇到字母'h'时,跳过后续print
        print('当前字母:', letter)
    

    执行过程

    • 遍历字符串 Python 中的字符,当遇到 'h' 时,执行 continue,跳过 print 语句,继续下一个字符的遍历。
    • 其他字符都会执行 print ,所以输出除 'h' 之外的字符对应的 当前字母: 内容 。 最终输出
    当前字母: P
    当前字母: y
    当前字母: t
    当前字母: o
    当前字母: n
    

    三、break 语句——直接终止循环,跳出循环体

    (一)基本概念

    break 语句的功能是立即终止当前所在的循环(无论是 for 循环还是 while 循环 ),程序流程跳转到循环之后的代码继续执行。就像给循环“踩了急刹车”,直接结束循环过程。

    (二)代码示例与解析

    1. for 循环中使用 break

    for i in range(1, 6):
        if i == 3:
            break  # 当i等于3时,终止循环
        print(i, "hello")
    

    执行过程

    • i = 1 时,输出 1 helloi = 2 时,输出 2 hello
    • i = 3 时,满足 if 条件,执行 break,直接终止整个 for 循环,后续 i = 4i = 5 的迭代不会进行 。 最终输出
    1 hello
    2 hello
    

    2. while 循环中使用 break

    var = 10
    while var > 0:
        print('当前值:', var)
        if var == 7:
            break  # var等于7时,终止循环
        var = var - 1
    

    执行过程

    • 初始 var = 10,打印 当前值: 10var 变为 9 。
    • 接着 var = 9 时,打印 当前值: 9var 变为 8 ;var = 8 时,打印 当前值: 8var 变为 7 。
    • var = 7 时,满足 if 条件,执行 break,终止 while 循环,var 不会再继续递减 。 最终输出
    当前值: 10
    当前值: 9
    当前值: 8
    当前值: 7
    

    3. 结合输入判断使用 break(实现简单退出逻辑 )

    while True:  # 无限循环,除非遇到break
        user_input = input("请输入内容(输入q退出):")
        if user_input == 'q':
            break  # 输入'q'时,终止循环
        print("你输入的是:", user_input)
    

    执行过程

    • 程序进入 while True 无限循环,每次等待用户输入。
    • 如果用户输入 'q',执行 break,循环终止;否则,打印用户输入的内容,继续下一轮循环等待输入 。

    四、break 与 continue 对比总结

    语句 作用范围 对当前循环的影响 后续程序流程
    continue 仅跳过本次循环剩余代码 下一轮循环会继续执行(只要循环条件满足 ) 进入下一轮循环的条件判断或迭代
    break 直接终止当前整个循环 循环立即结束,不再进行后续迭代或判断 跳转到循环之后的代码继续执行

    五、综合练习(巩固 break 与 continue 用法 )

    (一)练习 1:遍历数字,特定条件控制循环

    编写程序,使用 for 循环遍历 1 到 10 的数字,当数字是 4 时,用 continue 跳过;当数字是 7 时,用 break 终止循环,打印每次循环的数字(除被跳过的情况 )。

    示例代码

    for num in range(1, 11):
        if num == 4:
            continue
        if num == 7:
            break
        print(num)
    

    输出结果

    1
    2
    3
    5
    6
    

    (二)练习 2:结合 while 循环与用户输入

    实现一个程序,使用 while 循环不断让用户输入整数,计算输入数字的累加和。当输入 0 时,用 continue 跳过(不累加 0 );当输入 -1 时,用 break 终止循环,最后输出累加的结果。

    示例代码

    sum_num = 0
    while True:
        num = int(input("请输入整数(输入-1退出,输入0跳过累加):"))
        if num == -1:
            break
        if num == 0:
            continue
        sum_num += num
    print("累加和为:", sum_num)
    

    六、总结

    通过对 breakcontinue 语句的学习,我们能更灵活地控制循环的执行流程:

    • continue 帮我们跳过循环中不需要执行的部分,高效进行下一轮迭代;
    • break 让我们可以在满足特定条件时,及时终止循环,避免不必要的重复执行。
      在实际编程中,合理运用这两个语句,能让循环逻辑更贴合需求,写出更简洁、高效的代码。多结合练习案例,加深理解和运用,就能熟练掌握它们啦!
    • @ 2025-6-10 21:08:38

      🐍 Python 循环与控制结构


      🧠 本节课目标:

      通过本节课,你将掌握以下内容:

      • break:立即退出当前循环
      • continue:跳过本次循环,继续下一轮
      • pass:空语句,用于占位或保持结构完整
      • 使用 forwhile 实现常见编程任务
      • 经典练习题解析:阶乘计算、奖牌统计、水仙花数查找

      一、break 语句 —— 立即退出循环

      ✅ 示例代码:

      for i in range(1, 6):
          if i == 3:
              break
          print(i, "hello")
      

      🔍 输出结果:

      1 hello
      2 hello
      

      ⚠️ 当 i == 3 时,break 会立刻终止整个循环。


      二、continue 语句 —— 跳过本次循环

      ✅ 示例代码:

      for i in range(1, 6):
          if i == 3:
              continue
          print(i, "hello")
      

      🔍 输出结果:

      1 hello
      2 hello
      4 hello
      5 hello
      

      💡 continue 只是跳过了 i == 3 的这一轮,后续的循环还会继续执行。


      🧪 进阶练习:打印除 'h' 外的所有字母

      for letter in 'Python':
          if letter == 'h':
              continue
          print('当前字母:', letter)
      

      🔍 输出结果:

      当前字母: P
      当前字母: y
      当前字母: t
      当前字母: o
      当前字母: n
      

      三、pass 语句 —— 空操作,占位符

      ✅ 示例代码:

      if True:
          pass  # 后续再补全逻辑,暂时不写具体内容
      print("程序继续运行...")
      

      🔍 输出结果:

      程序继续运行...
      

      pass 不做任何事情,常用于调试、占位、保持结构完整性。


      四、经典案例分析


      📌 案例1:求一个数的阶乘(n!)

      题目说明:

      输入一个正整数 n,输出它的阶乘 n! = 1 × 2 × … × n
      范围:1 ≤ n ≤ 20

      ✅ 示例代码:

      n = int(input())
      s = 1
      for i in range(1, n+1):
          s *= i
      print(s)
      

      🔍 示例运行:

      输入:4
      输出:24
      

      📌 案例2:统计奖牌总数

      题目说明:

      输入 n 天的金、银、铜牌数,输出总金牌、银牌、铜牌及总奖牌数。

      ✅ 示例代码:

      n = int(input())
      jing = 0
      ying = 0
      tong = 0
      
      for _ in range(n):
          g, s, b = map(int, input().split())
          jing += g
          ying += s
          tong += b
      
      total = jing + ying + tong
      print(jing, ying, tong, total)
      

      🔍 示例运行:

      输入:
      3
      1 0 3
      3 1 0
      0 3 0
      输出:
      4 4 3 11
      

      📌 案例3:找出所有“水仙花数”

      题目说明:

      一个三位数,如果它等于其各位数字的立方和,则称为“水仙花数”。

      例如:153 = 1³ + 5³ + 3³

      ✅ 示例代码:

      for i in range(100, 1000):
          ge = i % 10
          shi = (i // 10) % 10
          bai = i // 100
          if ge**3 + shi**3 + bai**3 == i:
              print(i, end=" ")
      

      🔍 输出结果:

      153 370 371 407
      

      五、拓展练习题(可选)

      ✅ 练习1:数字转汉字

      题目说明:

      用户输入一个1~9之间的数字,输出对应的汉字。如输入2,输出“二”。

      ✅ 示例代码:

      nums = ["一", "二", "三", "四", "五", "六", "七", "八", "九"]
      while True:
          n = int(input())
          print(nums[n - 1])
      

      🔍 示例运行:

      输入:8
      输出:八
      

      ✅ 练习2:按奇偶性分类列表元素

      题目说明:

      从列表中取出元素,分别放入奇数和偶数列表中。

      ✅ 示例代码:

      a = [34, 17, 7, 48, 10, 5]
      b = []  # 偶数
      c = []  # 奇数
      
      while len(a) > 0:
          num = a.pop()
          if num % 2 == 0:
              b.append(num)
          else:
              c.append(num)
      
      print("偶数列表:", b)
      print("奇数列表:", c)
      

      🔍 输出结果:

      偶数列表: [10, 48, 34]
      奇数列表: [5, 7, 17]
      

      六、知识点总结表

      控制语句 作用 示例代码
      break 立即退出当前循环 for i in range(10): if i == 5: break
      continue 跳过本次循环,继续下一轮 for i in range(10): if i == 5: continue
      pass 占位语句,不做任何操作 if True: pass
      for 固定次数循环 for i in range(1, 10)
      while 条件满足时循环 while x < 10: x += 1

      七、课后作业建议(动手练一练)

      1. 编写程序:判断一个年份是否为闰年。
        • 条件:能被4整除但不能被100整除,或者能被400整除。
      2. 编写程序:输入一个分数,输出对应的等级(A:90-100, B:80-89, C:60-79, D:<60)
      3. 编写程序:模拟登录验证。
        • 用户名正确且密码正确才允许登录。
      4. 编写程序:找出1000以内的完数(一个数等于其所有因数之和)

      🎯 总结一句话:

      掌握好循环控制语句 break, continue, pass,结合 forwhile,就能写出功能强大、逻辑清晰的 Python 程序!

      • 1