以下是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. “布尔”数据类型只有两种值:True 和False。
3. == 等于、!= 不等于、< 小于、> 大于、<= 小于等于、>= 大于等于
4. ●==操作符(等于)问两个值是否彼此相同。
5. ● =操作符(赋值)将右边的值放到左边的变量中。
6. 整型或浮点型的值永远不会与字符串相等。
7. 布尔操作符(and、or 和not)用于比较布尔值。
8. if 语句 在语句的条件为True 时执行。如果条件为False,子句将跳过。
9. 只有if 语句的条件为False 时,else子句才会执行。
List item 3
一、语法陷阱:符号与格式的致命细节 🚨
1. 冒号与缩进
●必须写冒号:if、elif、else、while、for后必须加:,否则触发SyntaxError。
●统一缩进:同一代码块内缩进需一致(推荐4空格),混用制表符和空格会导致IndentationError。
if x > 5: # ✅ 正确
print("x大于5")
else: # ❌ 错误:漏写冒号
print("x小于等于5") # ❌ 缩进不一致
2. 条件表达式误用
赋值= vs 比较==:if x = 5: 是语法错误,正确应为if x == 5:。
隐式布尔转换:空列表、0、None会被视为False,非空数据视为True。
if []: # 条件为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破壁人手记”,我也会同步更新的!!!谢谢