Python程序设计基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2.2 if-elif-else语句

if-elif-else语句主要用于处理多种条件的情况,从而解决现实生活中复杂的多重选择问题,其流程如图3-4所示。如果表达式1的值为真,则执行相应的语句块A;如果表达式1的值为假,则继续判断表达式2的值,如果表达式2的值为真,则执行语句块B;如果表达式2的值也为假,则继续判断表达式3的值;其余类推,直到所有的表达式都不满足(条件表达式的个数为1个或多个)为止,然后执行else后面的语句块。

图3-4 多分支结构流程图

书写格式:关键字if与表达式1之间用空格隔开,表达式1后接英文冒号;所有关键字elif均与关键字if左对齐,elif与后面的各个表达式之间用空格隔开,表达式后接英文冒号;关键字else与关键字if左对齐,后接英文冒号;所有语句块左对齐,即所有语句块中的全部语句均缩进4个空格,如图3-5所示。

图3-5 多分支结构书写格式

例如:

如果只考虑一种表达式成立或不成立的结果(即没有elif分支),则多分支的if结构转化为双分支的if结构。

例如:

在使用分支结构时,需要注意以下事项:

●表达式可以是任意类型,如5>3,x==y,x and y>z,3,0等。其中,3表示恒真(即True),而0表示恒假(即False)。

●可以仅有if子句构成单分支结构,但是else子句必须与if子句配对,不能出现仅有else子句没有if子句的情况。

●各语句块可以是一条或多条语句,如果是多条语句,则所有语句必须左对齐。

【例3-4】编写程序,从键盘输入一个整型数字,判断该数字是否为偶数。

分析:判断一个整数是否为偶数的方法是用该数字对2取余数,如果结果等于0,则该数字为偶数。

代码如下:

【例3-5】编写程序,从键盘输入三条边,判断是否能够构成一个三角形。如果能,则提示可以构成三角形;如果不能,则提示不能构成三角形。

分析:组成三角形的条件是任意两边之和大于第三边,如果条件成立,则能构成三角形;当条件表达式中的多个条件必须全部成立时,条件之间使用and运算符连接起来。

代码如下:

【例3-6】编写程序,调用随机函数生成一个1~100之间的随机整数,从键盘输入数字进行猜谜,给出猜测结果(太大、太小、成功)的提示。

分析:通过引入random模块,可以调用其中的randint(a,b)函数产生介于a和b之间的随机整数(即产生的随机数大于等于a且小于等于b),然后从键盘输入一个数字与该随机数进行比较,并输出判断结果。

代码如下: