流程控制:让程序学会思考与循环

流程控制:让程序学会思考与循环

在编程里,流程控制就是给程序装上“大脑”的关键部分。它主要解决两个核心能力:

  1. 思考 / 判断 / 做选择 → 条件分支(if / elif / else / match)
  2. 重复劳动 / 自动化执行 → 循环(for / while)

几乎所有稍微复杂一点的程序,都是这两种结构 + 顺序执行 组合出来的。

一、让程序学会“思考” —— 条件分支

最基础的样子(Python为例):

age = 17

if age >= 18:
    print("你可以合法喝酒了!")
else:
    print("再等几年吧~")

进阶一点(多分支):

score = 86

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格,再努力!")

Python 3.10+ 更优雅的写法(match-case,类似其他语言的switch):

http_code = 404

match http_code:
    case 200:
        print("成功")
    case 404:
        print("没找到页面")
    case 500 | 502 | 503:
        print("服务器出问题了")
    case _:
        print("未知错误")

一句话总结条件分支
“如果……就……否则如果……就……否则……”

二、让程序学会“重复” —— 循环

编程里最强大的省力工具就是循环。两大主流循环:

1. for 循环(知道要循环多少次,或要遍历什么)

最常用、最安全、最推荐初学者优先掌握。

# 打印1~10
for i in range(1, 11):
    print(i)

# 遍历列表
fruits = ["苹果", "香蕉", "橙子", "榴莲"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 带序号遍历(很常用!)
for idx, fruit in enumerate(fruits, 1):
    print(f"第{idx}种水果:{fruit}")

2. while 循环(不知道具体次数,根据条件决定继续或停止)

# 经典猜数字游戏简化版
answer = 7
guess = 0

while guess != answer:
    guess = int(input("猜一个1-10的数字:"))
    if guess > answer:
        print("太大了!")
    elif guess < answer:
        print("太小了!")

print("恭喜你猜对了!")

while 循环最容易犯的错误:忘记让条件趋向于结束(死循环)

错误示范:

count = 0
while count < 5:
    print("哈哈哈")
    # 忘记 count += 1 → 永久死循环

正确:

count = 0
while count < 5:
    print("哈哈哈")
    count += 1

三、循环里的两个“急刹车” —— break 与 continue

关键词作用类比生活
break立刻跳出整个循环“我受不了了!不玩了!”直接走人
continue结束本次循环,马上进入下一次循环“这次不算,重来!”跳过这一轮

例子:

for i in range(1, 11):
    if i == 3:
        continue       # 跳过3
    if i == 7:
        break          # 到7就彻底结束循环
    print(i)

# 输出:1 2 4 5 6

四、快速对比总结表

需求推荐结构典型场景
要做一次判断if成绩分级、是否成年、输入合法性校验
很多种情况互斥if-elif-else / match菜单选择、HTTP状态码处理
明确知道循环次数,或遍历容器for … in …打印1~100、遍历列表/字典/文件行
不确定次数,但有结束条件while游戏循环、等待用户正确输入、爬虫翻页
必须至少执行一次再判断while + 先做一次ATM机输入密码(至少让输一次)

五、给你三个最经典的入门练习题(强烈建议亲手写)

  1. 打印九九乘法表(for嵌套)
  2. 判断一个数是不是质数(for + break优化)
  3. 猜数字游戏(while + if + break + 加入次数限制)

你现在最想先搞懂/练习哪一部分?

  • 条件判断(if家族)
  • for循环(遍历神器)
  • while循环(自由度最高但最容易死循环)
  • break/continue/嵌套
  • 直接来一道题练手

告诉我你的选择,我陪你一步步写出来~ 😄

文章已创建 4758

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部