1、条件控制
- if语句
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
如果 “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。
注:
- 每个条件后面要使用冒号(:)表示接下来是满足条件后要执行的语句块。
- Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题,相同缩进数的语句在一起组成一个语句块。
- 在Python中没有switch – case语句。
2、循环语句
- while循环
在Python中没有do…while循环
只要条件满足,就不断循环,条件不满足时退出循环
#格式
while 判断条件:
statements
#举个例子
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
#5050
- for循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句
#格式
for <variable> in <sequence>:
<statements>
else:
<statements>
#举个例子
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
#55
- range()函数
如果需要遍历一个数字序列,可以使用内置函数 range() 。它生成算术级数,但是给定的终止数值并不在要生成的序列里;range(10) 会生成10个值,并且是以合法的索引生成一个长度为10的序列。range也可以以另一个数字开头,或者以指定的幅度增加(甚至是负数;有时这也被叫做 ‘步进’)
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
举个例子
sum = 0
for x in range(101):
sum = sum + x
print(sum)
#5050
- enumerate() 函数
当在序列中循环时,用 enumerate() 函数可以将索引位置和其对应的值同时取出
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print(i, v)
...
0 tic
1 tac
2 toe
- break语句
用于提前跳出最近的 for 或 while 循环
#本来要循环打印1~100的数字
n = 1
while n <= 100:
print(n)
n = n + 1
print('END')
#用break提前结束循环
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
- continue语句
提前结束当前的这次循环,直接开始下一次循环
#打印1~10
n = 0
while n < 10:
n = n + 1
print(n)
#只打印1~10的奇数
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
#13579
- pass语句
pass语句什么都不做。它只在语法上需要一条语句但程序不需要任何操作时使用
>>> while True:
... pass # 等待键盘中断 (Ctrl+C)
常用于创建最小的类
>>> class MyEmptyClass:
... pass
...
pass 的另一个可以使用的场合是在你编写新的代码时作为一个函数或条件子句体的占位符,允许你保持在更抽象的层次上进行思考, pass 会被静默地忽略:
>>> def initlog(*args):
... pass # Remember to implement this!
...
参考文献
- https://www.w3cschool.cn/python3/python3-loop.html
- https://www.liaoxuefeng.com/wiki/1016959663602400/1017100774566304
- https://docs.python.org/zh-cn/3/tutorial/controlflow.html#the-range-function