程序的控制结构
程序由3种基本结构组成:顺序结构、分支结构和循环结构。任何程序都是由这三种基本结构组合而成。
顺序结构就是程序按照线性顺序依次执行的一种运行方式。
分支结构
分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式。
单分支结构 if
单分支结构用保留字if对条件进行判断,使用方式如下:
if <条件>:
<语句块>
例如:
if 0 :
print("值为假")
注意:
1、条件表达式中不能出现赋值语句【a=b】
2、条件判断语句后面必须接冒号
3、执行语句注意缩进
4、执行语句可以是一条也可以是多条,多条缩进注意保持一致
5、多个条件间采用 and 或 or 进行逻辑组合。
二分支结构
二分支结构用保留字if-else对条件进行判断,使用方式如下:
if <条件>:
<语句块1>
else:
<语句块2>
三元条件运算符
在二分支条件判断中可使用print(条件为真时候的值 if (条件表达式) else 条件为假时候的值)来更加简洁的输出自己想要的结果。
a=int(input('请输入一个整数'))
print('输入的是一个偶数' if a%2==0 else '输入的是一个奇数')
多分支语句
二分支结构用保留字if-elif-else对条件进行判断,使用方式如下:
if <条件>:
<语句块1>
elif <条件2>:
<语句块2>
......
......
else:
<语句块N>
.注意:程序会按照多分支结构的代码顺序依次评估判断条件,寻找并执行第一个结果为True条件对应的语句块,当前语句块执行后跳过整个if-elif-else结构。如果没有任何条件成立,else下面的语句块被执行。else子句是可选的。
.
多分支语句有逻辑顺序,不可随意调换编写顺序,如下列实例,调换顺序后就不能用此写法
a = int(input("请输入你的分数:"))
if 0<=a<=100:
if a >=90 : # 等同于 90<=a<=100
print(f"您的分数是{a},评分为S")
elif a >= 80: # 等同于 80<=a<90
print(f"您的分数是{a},评分为A")
elif a >= 70: # 等同于 70<=a<=80
print(f"您的分数是{a},评分为B")
elif a >= 60: # 等同于 60<=a<=70
print(f"您的分数是{a},评分为C")
elif a < 60:
print(f"您的分数是{a},评分为D")
else:
print("输入有误")
判断条件及组合
Python的关系操作符
操作符 | 数学符号 | 操作符含义 |
< | < | 小于 |
<= | ≤ | 小于等于 |
>= | ≥ | 大于等于 |
> | > | 大于 |
== | = | 等于 |
!= | ≠ | 不等于 |
Python中,任何非零的数值、非空的数据类型都等价于True,0或空类型等价于False,可以直接用作判断条件。
例如:
>>>0==False
True
>>>"==True
False
循环结构
遍历循环:for
Python通过保留字for实现遍历循环,使用方式如下:
for 循环变量 in 遍历结构:
语句块
使用range()函数,可以指定语句块的循环次数,使用方式如下:
for 循环变量 in range(循环次数):
语句块
扩展模式
for 循环变量 in 遍历结构:
语句块1
else:
语句块2
当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行并结束,因此,可以在《语句块2》中放置评价循环执行情况的语句。
无限循环:while
Python通过保留字 while 实现无限循环,使用方式如下:
while 条件:
语句块
扩展模式
while 条件:
语句块1
else:
语句块2
循环控制:break 和 continue
循环结构有两个辅助循环控制的保留字 break 和 continue
break 用来跳出最内层for或while循环,脱离该循环后程序继续执行循环后续代码
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环
两者区别:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束整个当前循环的能力。
程序的异常处理
Python程序一般对输入有一定要求,但是实际输入会不满足程序要求,就可能会产生运行错误。
Python使用保留字 try 和 except 进行异常处理,语法结构如下:
try:
语句块1
except:
语句块2
语句块1是正常执行内容,当执行发生异常时,则执行except后的语句块2