上QQ阅读APP看书,第一时间看更新
2.1 分支结构
1.单分支结构:if
if语句的基本形式如下:
if判断条件: 执行语句1 执行语句2 …
如果判断条件成立(非零),就执行后面的语句,执行的内容可以有多行代码,用缩进来表示同一范围。如果判断条件不成立,就不执行后面的语句,示例代码如下:
#//第2章/2.1.py age=20 if age>=12: print('可以骑自行车了!') if age>=18: print('可以学开汽车了!') if age>=22: print('男同学可以结婚了!')
运行结果如下:
可以骑自行车了! 可以学开汽车了!
2.1.py文件使用了3个单分支if语句,由于age=20符合前两个条件,所以程序执行了前两个if语句的执行语句,但不符合第3个条件,所以没有执行第3个if语句的执行语句。
2.二分支结构:if-else
if-else语句的基本形式如下:
if判断条件: 执行语句块1 else: 执行语句块2
如果判断条件成立(非零),就执行语句块1;如果判断条件不成立,就执行语句块2,示例代码如下:
#//第2章/2.2.py age=10 if age>=12: print('你有骑自行车的权力了!') else: print('太小了,还不能骑自行车!')
运行结果如下:
太小了,还不能骑自行车!
当age=10时,判断条件if age>=12不成立,所以没有执行if的语句块,而执行了else的语句块。
3.多分支结构:if-elif-else
if-elif-else语句的基本形式如下:
if 判断条件1: 执行语句1 elif 判断条件2: 执行语句2 elif 判断条件3: 执行语句3 else: 执行语句4
elif语句可以有多条,哪个判断条件成立就执行其后面的语句,如果都不成立,则执行else后面的语句,示例代码如下:
#//第2章/2.3.py fen=90 if fen>=85: print('优秀!') elif fen>=70: print('良好!') elif fen>=60: print('及格!') else: print('不及格!')
运行结果如下:
优秀!
if语句是从上往下逐条判断的,如果某个判断条件成立就执行它后面的语句,其他elif和else的语句均不执行,所以一定要注意条件的逻辑关系。例如把第1个条件改为if fen>=60,并且将print('优秀!')中的优秀修改为及格,则90分会被判为及格,显然不符合要求。
4.判断条件及组合
判断条件的关系操作符见表2-1(表中a=10,b=20)。
表2-1 关系操作符
使用判断条件组合,把2.3.py文件中的代码修改如下:
#//第2章/2.4.py fen=84 if fen>=85: print('优秀!') elif 70>fen>=60: print('及格!') elif 85>fen>=70: print('良好!') else: print('不及格!')
运行结果如下:
良好!
使用判断条件组合,即使改变条件顺序,程序也不会出错。