Python基础:03.条件控制与循环语句
条件控制
1. 基本语法
1 |
|
- 如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
- 如果 “condition_1” 为False,将判断 “condition_2”
- 如果”condition_2” 为 True 将执行 “statement_block_2” 块语句
- 如果 “condition_2” 为False,将执行”statement_block_3”块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else 。因此若有的if条件写的不严谨导致,同时符合多个条件,只会执行第一个符合条件的语句块
python需要严格遵循缩进规则
1 |
|
teenager
当使用and和or进行混合条件判断时,条件判断是从左到右的并且在and和or两侧的条件不一定都执行
1 |
|
ok
链式比较也是可以的
1 |
|
True
2. 三元表达式
python中三元表达式允许将一个if-else代码块联合起来,在一行代码或一个语句中生成数据
其格式为:执行表达式1 if 判断表达式 else 执行表达式2
,意思为,如果if判断表达式为True,则执行表达式1,否则执行表达式2
1 |
|
1
三元表达式中的else语句不能去掉!
1 |
|
File “
“, line 2
value = 1 if a>5
^
SyntaxError: invalid syntax
如果条件以及真假表达式非常复杂,不建议使用三元表达式,会牺牲可读性
3. if的嵌套
if-elif-else可以嵌套在if结构中,同样使用缩进
1 |
|
数字猜谜游戏
输入你猜的数字3
你猜小了
输入你猜的数字8
你猜大了
输入你猜的数字7
你猜对了
4. 其他注意点
if必须严格遵循语法的形式,不能加大括号什么的,容易与集合混淆
1 |
|
True
1 |
|
True
<class ‘set’>
1 |
|
File “
“, line 3
print(“line 2 of if condition”) # 在{}中间多加一条语句,会报错,因为这是集合
^
SyntaxError: invalid syntax
1 |
|
True
line 2 of if condition
循环语句
1. while循环
1.1 一般格式
1 |
|
注意冒号与缩进,严格遵循循环格式。Python中没有do-while语句
1 |
|
55
如果while循环体中只有一条语句,可以将该语句与while写在同一行中,虽然不建议这样做
1 |
|
wan
yu
1.2 无限循环
一直满足循环条件,一直执行循环语句。在有些场景比较有用(例如:服务器上的实时请求)
可以使用 CTRL+C 来退出当前的无限循环。但是在notebook中不管用
1 |
|
1.3 while-else语句
循环+条件
1 |
|
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
2. for循环
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。for循环的一般格式如下:
1 |
|
如果序列中没有元素,则执行else
1 |
|
1
2
3
4
5
[1, 2, 3, 4, 5]
for循环可以通过解包遍历两个序列数据
1 |
|
1 1
2 4
3 9
3. break和continue
3.1 break
break 语句可以跳出整个 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
同时注意break语句只跳出当前这一层
的for或while,若外面还有循环结构,则继续循环
3.2 continue
continue 语句被用来告诉 Python 跳过当前循环轮中的剩余语句,进行下一轮循环。
这两个语句通常都必须配合if语句使用
不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,都可以通过改写循环条件或者修改循环逻辑
1 |
|
10
11
1 |
|
10
12
14
15
4. pass语句
Python中pass是空语句,是为了保持程序结构的完整性,因为有时不加语句会报错。pass 不做任何事情,一般用做占位语句。在代码段中或定义函数的时候,如果没有内容,或者先不做任何处理,直接跳过,就可以使用pass
1 |
|