《我的Python觉醒之路》之转型Python(九)——控制流

以下是2025年3月10日学习的内容

(还是有点慢,自己要强制学习啊!!!! )

二、控制流

“控制流语句”可以决定在什么条件下执行哪些Python 语句。

流程图用菱形表示这些分支节点,其他步骤用矩形表示。开始和结束步骤用带圆角的矩形表示。

2.7复习控制流语句

if 语句、else 语句、elif 语句、while 循环语句、恼人的循环、break 语句、continue 语句、for 循环和range()函数、等价的while 循环range()的开始和停止及步长参数、、

2.7.1 if 语句

在语句的条件为True 时执行。如果条件为False,子句将跳过。
在英文中,if 语句念起来可能是:“如果条件为真,执行子句中的代码。”

在Python中,if 语句包含以下部分:
 if 关键字;
 条件(即求值为True 或False 的表达式);
 冒号:
 在下一行开始,缩进的代码块(称为if 子句)。
也即

在这里插入代码片

2.7.2 else 语句

只有if 语句的条件为False 时,else子句才会执行。
在英语中,else 语句读起来可能是:“如果条件为真,执行这段代码。否则,执行那段代码”。
else 语句不包含条件,在代码中,含下面部分:
 if 关键字;
 条件(即求值为True 或False 的表达式);
 冒号:
 在下一行开始,缩进的代码块(称为if 子句)。

name=input()  #输入一个字符串,然后赋值给名字(name)
if name=='yang':  #判断条件,是不是等于yang    #if+判断条件+冒号:
   print('hi,yang')#本身里面已经有判断了,如果是yang,输出hi,yang
else: #否则的话,进入下一个阶段  
  print('dage')#否则的话,输出dage

大

2.7.3 elif 语句

elif 语句是“否则如果”,总是跟在if 或另一条elif 语句后面。它提供了另一个条件,仅在前面的条件为False 时才检查该条件。

在Python中,if 语句包含以下部分:
 elif 关键字;
 条件(即求值为True 或False 的表达式);
 冒号:
 在下一行开始,缩进的代码块(称为elif 子句)。
首先,总是只有一个if 语句。所有需要的elif 语句都应该跟在if 语句之后。其次,如果希望确保至少一条子句被执行,在最后加上else 语句。

在Python中,elif是else if的缩写,用于处理多条件分支的逻辑判断。它的核心作用是对多个互斥条件进行逐级筛选,仅当所有前置条件(if或之前的elif)均不满足时,才会执行当前elif条件的代码块。以下是关键要点解析:

if 条件1:   # if+条件:
    代码块1 
elif 条件2:  # 当条件1不满足时才会检查条件2 
    代码块2 
else:
    代码块3  # 所有条件均不满足时执行 

# 示例1:数值正负判断 
num = -3 
if num > 0:
    print("正数")
elif num == 0:
    print("零")
else:
    print("负数")

●执行顺序:自上而下依次判断,一旦某个条件满足,则执行对应代码块并退出整个分支结构。
●互斥性:所有if/elif条件应为互斥场景,避免冗余判断(如多个条件可能同时为真时需用独立if语句)。

if-elif-else:就像做选择题 🍦

天气 = “晴天” # 假设今天天气是晴天
场景:根据天气决定吃什么冰淇淋

if 天气 == "下雨":       # 条件1:下雨吗?
    print("吃巧克力味")  # 如果下雨,选巧克力 
elif 天气 == "下雪":     # 条件2:下雪吗?
    print("吃薄荷味")    # 下雪的话,吃薄荷味 
else:                   # 其他所有情况(比如晴天、阴天)
    print("吃草莓味")   # 默认选草莓味 
           # 输出结果:吃草莓味 

2.7.4 while 循环语句

if 子句结束时,程序继续执行if 语句之后的语句。
只要while 语句的条件为True,while 子句中的代码就会执行。
但在**~~while 子句结束时~~** ,程序执行跳回到while 语句开始处
while 循环语句包含:
 关键字;
 条件(求值为True 或False 的表达式);
 冒号;
 从新行开始,缩进的代码块(称为while 子句)。
也即

while +条件+冒号:
例如 **场景:倒计时3秒发射火箭**

倒计时 = 3  # 初始值  
while 倒计时 > 0:       # 只要倒计时>0就循环 
    print(f"{倒计时}...")  
    倒计时 -= 1         # 每次减1(重要!避免死循环) 
print("发射!🚀")       # 循环结束后执行 

2.7.6 break 语句

让执行提前跳出while 循环子句。如果执行遇到break 语句,就会马上退出while 循环子句。

2.7.7 continue 语句

如果程序执行遇到continue语句,就会马上跳回到循环开始处,重新对循环条件求值(这也是执行到达循环末尾时发生的事情)。
2.7.8 for 循环和range()函数
在代码中,for 语句看起来像for i in range(5):这样,总是包含以下部分:
for 关键字;
一个变量名;
in 关键字;
调用range()方法,最多传入3 个参数;
冒号;
从下一行开始,缩退的代码块(称为for 子句)。

print('My name is')
for i in range(5):
    print('Jimmy Five Times (' + str(i) + ')')
total = 0
for num in range(101):
    total = total + num
print(total)

在这里插入图片描述

总结精华部分 持续更新(2025年3月7日晚上

**`第一章节的核心内容就是下面的了`**
 1. 启动IDLE,打开的带有>>>提示符的界面便是Python的交互式解释器 
 2. 表达式(Expression)是Python中能产生一个值的代码片段,由**操作数**(如变量、常量)和运算符(如加减乘除、逻辑判断符)组合而成. 
 3. 表达式包含“值”(例如2)和“操作符”(例如+),并且总是可以求值(也就是归约)为单个值。
 4. 数据类型包括:int(整型)float(浮点型)str(字符串)数据类型。
 5. Python 程序也可以有文本值,称为“字符串”,或strs(发音为“stirs”)。总是用单引号(')包围住字符串.
 6. 变量是存储数据值的容器。 用“赋值语句”将值保存在变量中。赋值语句包含一个变量名、一个等号(称为赋值操作符),以及要存储的值。
 7. 输入部分代码后按Tab键可触发补全建议(如输入pri后补全为print)。 
 8. 变量名 `不允许中划线、不允许空格、不允许数字开头、不允许数字开头、不允许$@!¥%&*这样的特殊字符、不允许'这样的特殊字符。 
 (1)只能是一个词。(2)只能包含字母、数字和下划线—。(3)不能以数字开头。
 9. 变量名是区分大小写的。
 10. 编写完整的 Python程序,就需要在文件编辑器中输入指令
 11.  交互式环境窗口总是有>>>提示符。
 12.  文件编辑器窗口没有>>>提示符。
 13. # 标志之后的所有文本都是注释。
 14. 如果想要将一个整数或浮点数与一个字符串连接,str()函数就很方便。
 15. input()函数总是返回一个字符串,即便用户输入的是一个数字
 16. 不同类型的操作符(+-*///%**是数学操作符,+*是字符串操作符)
 
 List item 2

下面介绍第二章
 1. 流程图用菱形表示这些分支节点,其他步骤用矩形表示。开始和结束步骤用带圆角的矩形表示。   
 2. “布尔”数据类型只有两种值:TrueFalse3. == 等于、!= 不等于、< 小于、> 大于、<= 小于等于、>= 大于等于 
 4.==操作符(等于)问两个值是否彼此相同。 
 5.=操作符(赋值)将右边的值放到左边的变量中。 
 6. 整型或浮点型的值永远不会与字符串相等。 
 7. 布尔操作符(andornot)用于比较布尔值。
 8.  if 语句 在语句的条件为True 时执行。如果条件为False,子句将跳过。 
 9. 只有if 语句的条件为False 时,else子句才会执行。
 
 List item 3
一、语法陷阱:符号与格式的致命细节 🚨
 1. 冒号与缩进
●必须写冒号:ifelifelsewhilefor后必须加:,否则触发SyntaxError。
●统一缩进:同一代码块内缩进需一致(推荐4空格),混用制表符和空格会导致IndentationError。
if x > 5:  # ✅ 正确 
    print("x大于5")
else:      # ❌ 错误:漏写冒号 
print("x小于等于5")  # ❌ 缩进不一致 
2. 条件表达式误用
赋值= vs 比较==if x = 5: 是语法错误,正确应为if x == 5:。
隐式布尔转换:空列表、0None会被视为False,非空数据视为Trueif []:           # 条件为False 
    print("空列表")

二、逻辑漏洞:条件与循环的隐蔽错误 🔍
1. 死循环(无限循环)
原因:while循环条件始终为True且未更新变量。
解决方案:确保循环体内有修改条件的操作,或使用break安全退出。
# ❌ 危险代码:未更新count导致死循环 
count = 0 
while count  0:
    if y  0 and y < 10:
    print("满足条件")
2. 选择合适循环结构
for vs while:遍历已知序列用for,不确定次数循环用while。
生成器替代大列表:处理海量数据时用range()或生成器节省内存。



​


(点击一下关注,谢谢,获取明日更新:《我的Python觉醒之路》之交通转型Python)
欢迎大家关注我的公众号“Python破壁人手记”,我也会同步更新的!!!谢谢
微信公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值