Python应用轻松入门
上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('不及格!')

运行结果如下:

    良好!

使用判断条件组合,即使改变条件顺序,程序也不会出错。