跳转至

四、流程控制:让程序会思考

第 18~24 课

容器是「存东西的柜子」,流程控制是「干活的逻辑」——什么情况干什么、要不要重复干。学到这块,程序开始真正动脑子。

第 18 课 布尔与比较

比较的结果,要么 True 要么 False

符号 意思
== 等于
!= 不等于
> < >= <= 大于、小于、大于等于、小于等于
rent = 5200
rent > 5000    # True
rent == 5200   # True

⚠️ = 是赋值,== 是比较,一字之差,完全不同。一个是「放进去」,一个是「问一句」。

第 19 课 if / else

status = "欠费"
if status == "欠费":
    print("请尽快缴费")
else:
    print("已结清,谢谢")

三个要点:

  1. if 后面接条件,末尾冒号
  2. 缩进(4 个空格)是语法,不是排版——缩进的内容属于上面的 if,条件成立才执行
  3. else 是「否则」

缩进是 Python 的灵魂。别的语言用大括号表示代码块,Python 用缩进。

第 20 课 多条件与 elif

意思
and 且(都要满足)
or 或(任一满足)
not 非(取反)
if status == "欠费" and days > 30:
    print("发催告函")
elif rent > 5000:
    print("中租金")
else:
    print("普通")

elif 是「否则,再判断一下」,用于多个分支,从上往下命中哪个走哪个。

第 21 课 for 循环:把清单过一遍

tenants = ["张三", "李四", "王五"]
for name in tenants:
    print(name)

读作「对于名单里的每一个名字,做缩进里的事」。name 是循环变量,每轮自动换成下一个元素。

range() 生成一串数字:

for i in range(5):
    print(i)   # 0 1 2 3 4(不含 5)

第 22 课 while 循环:靠条件停

for 是「知道要过几遍」,while 是「不知道几遍,条件不满足就停」:

saved = 0
month = 0
while saved < 10000:
    saved = saved + 1000
    month = month + 1
print(month)   # 10 个月存够 1 万

⚠️ 循环体必须能改变条件,否则就成「死循环」停不下来——按 Ctrl + C 救命。

第 23 课 break 与 continue

作用
break 结束整个循环(找到目标就收工)
continue 跳过本轮,下一轮继续
for name in tenants:
    if name == "王五":
        print("找到了:", name)
        break        # 后面的不看了

第 24 课 综合练习:挑出欠费的

把前面学的全串起来——字典列表 + for 遍历 + if 判断 + append:

qianfei = []
for t in tenants:
    if t["状态"] == "欠费":
        qianfei.append(t["姓名"])
print(qianfei)    # ['李四', '赵六']

先建空名单 → 逐个看 → 谁欠费就把名字塞进去 —— 这是「对账」类程序的基本骨架。

交互模式的一个小坑

>>> 里敲 forifdef 这些带缩进的块,敲完缩进内容后要再敲一个空行回车「收尾」,才能回到 >>> 敲下一条顶格命令。忘了空行直接敲下一条,会报 SyntaxError