一、程序的分支结构
1.判断条件及组合
分支结构中的判断条件可以使用任何能够产生True或False的语句或函数。形成判断条件最常见的方式是采用关系操作符。
Python语言使用保留字not、and和or对条件进行逻辑运算或组合。
not表示单个条件的“否”关系
and表示多个条件之间的“与”关系,
or表示多个条件之间的“或”关系。
True and False= False
True and True= True
False and False= False
False and True= False
True or False= True
True or True= True
False or False= False
False or True= True
2.单分支结构:if语句
Python的单分支结构使用 if 保留字对条件进行判断,使用方式如下
if 条件:
语句块
说明:if : 和语句块前的缩进都是语法的一部分。语句块是if条件满足后执行的一个或多个语句序列,缩进表达语句块与if的包含关系。条件是一个产生True或False结果的语句,当结果为True时,执行语句块,否则跳过语句块。
例:s = eval(input("请输出一个整数:"))
if s % 2 == 0:
print("这是个偶数")
print("输入数字是:", s)
Python语言中,任何非零的数值、非空的数据类型都等价于True,0等价于False,可以直接用作判断条件。
3.二分支结构: if-else语句
Python的二分支结构使用if-else保留字对条件进行判断,语法格式为:
if 条件:
语句块1
else:
语句块2
语句块1在if中条件满足即为True时执行,语句块2在if中条件不满足即为False时执行。简单说,二分支结构根据条件的True或False结果产生两条路径。
二分支结构还有一种更简洁的表达方式,适合语句块1和语句块2都只包含简单表达式的情况.
语法格式如下:
表达式1 if 条件 else 表达式2
4.多分支结构:if-elif-else语句
if-elif-else对多个相关条件进行判断,并根据不同条件的结果按照顺序选择执行路径。
语句格式如下:
if 条件1:
语句块1
elif 条件2:
语句块2
...
else:
语句块N
要注意,Python会按照多分支结构的代码顺序依次评估判断条件,寻找并执行第一个结果为True条件对应的语句块,当前语句块执行后跳过整个if-elif-else结构。
二、程序的循环结构
Python语言的循环结构包括两种:遍历循环和无限循环。
1.遍历循环:for
使用方式:
for 循环变量 in 遍历结构:
语句块
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。
遍历结构可以是字符串、文件、range()函数或组合数据类型等。
range() 函数返回的是一个可迭代对象
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0,1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于range(0,5, 1)
循环结构有两个辅助循环控制的保留字:break和continue。
break用来跳出当前循环,脱离该循环后程序从循环后代码继续执行。
如果有2层或多层循环,break退出最内层循环。
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
遍历循环还有一种扩展模式:
for 循环变量 in 遍历结构:
语句块1
else:
语句块2
当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行并结束,因此,可以在语句块2中放置判断循环执行情况的语句。
2.无限循环:while
while 条件:
语句块
当程序执行到while语句时,判断条件如果为True,执行语句块,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止。继续后续语句。
无限循环也有一种使用保留字else的扩展模式
while 条件:
语句块1
else:
语句块2
当while循环正常执行之后,程序会续执行else语句中内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。
三、程序的异常处理
Python程序一般对输入有一定要求,但当实际输入不满足程序要求时,可能会产生程序的运行错误。Python语言使用保留字try和except进行异常处理。
try:
语句块1
except:
语句块2
语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2。