![Python程序设计基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/423/30058423/b_30058423.jpg)
3.2.2 if-elif-else语句
if-elif-else语句主要用于处理多种条件的情况,从而解决现实生活中复杂的多重选择问题,其流程如图3-4所示。如果表达式1的值为真,则执行相应的语句块A;如果表达式1的值为假,则继续判断表达式2的值,如果表达式2的值为真,则执行语句块B;如果表达式2的值也为假,则继续判断表达式3的值;其余类推,直到所有的表达式都不满足(条件表达式的个数为1个或多个)为止,然后执行else后面的语句块。
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_18.jpg?sign=1739313587-iUMkh4PdgcRE1neJKGamVoXeVYy2Zflk-0-3ac16fb9cb51721db0a6137134204acf)
图3-4 多分支结构流程图
书写格式:关键字if与表达式1之间用空格隔开,表达式1后接英文冒号;所有关键字elif均与关键字if左对齐,elif与后面的各个表达式之间用空格隔开,表达式后接英文冒号;关键字else与关键字if左对齐,后接英文冒号;所有语句块左对齐,即所有语句块中的全部语句均缩进4个空格,如图3-5所示。
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_19.jpg?sign=1739313587-DOvR1mWhryO4A8iCCAPSTnR8GWTvFjUE-0-b7b3962aaaed18677decafb417ee787f)
图3-5 多分支结构书写格式
例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_20.jpg?sign=1739313587-5Rk6aUjl0Yr2zEXdswEmACBUJH37z7dD-0-554944c69cd451741cd03cc8150296a3)
如果只考虑一种表达式成立或不成立的结果(即没有elif分支),则多分支的if结构转化为双分支的if结构。
例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_21.jpg?sign=1739313587-vkblVzCvxASQ2M4Zxjr4A97Q9jyAfNJ4-0-315cda24bc9570cb231950c68dabdf9d)
在使用分支结构时,需要注意以下事项:
●表达式可以是任意类型,如5>3,x==y,x and y>z,3,0等。其中,3表示恒真(即True),而0表示恒假(即False)。
●可以仅有if子句构成单分支结构,但是else子句必须与if子句配对,不能出现仅有else子句没有if子句的情况。
●各语句块可以是一条或多条语句,如果是多条语句,则所有语句必须左对齐。
【例3-4】编写程序,从键盘输入一个整型数字,判断该数字是否为偶数。
分析:判断一个整数是否为偶数的方法是用该数字对2取余数,如果结果等于0,则该数字为偶数。
代码如下:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_22.jpg?sign=1739313587-H6ahLMc0N4FXYhObVOFVv8YjwF67Y6vZ-0-d8be41be05bc21d54d52e17826d2d458)
【例3-5】编写程序,从键盘输入三条边,判断是否能够构成一个三角形。如果能,则提示可以构成三角形;如果不能,则提示不能构成三角形。
分析:组成三角形的条件是任意两边之和大于第三边,如果条件成立,则能构成三角形;当条件表达式中的多个条件必须全部成立时,条件之间使用and运算符连接起来。
代码如下:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_23.jpg?sign=1739313587-0JcM3pnqrRq2C31A3JnsF3kUd7pHG2Xy-0-9031a3794b7390f4d2dcb049895db89d)
【例3-6】编写程序,调用随机函数生成一个1~100之间的随机整数,从键盘输入数字进行猜谜,给出猜测结果(太大、太小、成功)的提示。
分析:通过引入random模块,可以调用其中的randint(a,b)函数产生介于a和b之间的随机整数(即产生的随机数大于等于a且小于等于b),然后从键盘输入一个数字与该随机数进行比较,并输出判断结果。
代码如下:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_24.jpg?sign=1739313587-4b5WcE7OdlBIrMdFY3TfN40FHl7ZTM5Z-0-e0de8aa24904176f69dacbdfa9359aec)