![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
5.6 选择结构与语句
条件判断语句就是对语句中不同条件的值进行判断,进而根据不同的条件执行不同的语句。
5.6.1 选择结构
选择结构也称为分支结构,用于处理在程序中出现两条或更多执行路径可供选择的情况。选择结构可以用分支语句来实现。分支语句主要为if语句。
先来看一个具有选择结构的程序示例。
【例5.4】求取输入的两个整数的差值(源代码\ch05\5.4.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P107_57317.jpg?sign=1739620464-wsfYZtxy4Ifu4oeYfDzC8YlaC5NE5aY7-0-07ca16505d16f38a1f80948c6e5a18cd)
保存并运行程序,结果如图5-20所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P107_10350.jpg?sign=1739620464-2OO1hP5muCAkhFVTChMrUps4YxIeOXol-0-bf486028e8a557a504d6afc164051b6e)
图5-20 运行结果
该程序是一个选择结构的程序,在执行过程中会按照键盘输入值的大小顺序选择不同的语句执行。若a>b,则执行print("它们的差值:",b-a);若a<=b,则执行print ("它们的差值:",a-b)。
5.6.2 if语句
if语句是使用非常普遍的条件选择语句,每一种编程语言都有一种或多种形式的if语句,在编程中它是经常被用到的。
if语句的格式如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P107_57318.jpg?sign=1739620464-XFFK7pNtazGx9evWelDASH0ezCeGrkiR-0-0e109f70136534cff8db47edf2f29726)
若表达式1为真,则Python运行语句1,反之则向下运行。如果没有条件为真,就运行else内的语句。elif与else语句都是可以省略的。可以在语句内使用pass语句,表示不运行任何动作。
注意以下问题:
(1)每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
(2)使用缩进划分语句块,相同缩进数的语句在一起组成一个语句块。
(3)在Python中没有switch...case语句。
以下为if中常用的操作运算符:
(1)<:小于。
(2)<=:小于或等于。
(3)>:大于。
(4)>=:大于或等于。
(5)==:等于,比较对象是否相等。
(6)!=:不等于。
【例5.5】使用if判断语句(源代码\ch05\5.5.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P108_57320.jpg?sign=1739620464-PK2sDlGyDfsXrzvROPYvpyLAm3UBw0Uj-0-17fc7fe321eaf28317b3f8d8ac89ef03)
保存并运行程序,结果如图5-21所示。从结果可以看出,输入的考试分数为85,再在执行print("成绩优秀")语句。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P108_10484.jpg?sign=1739620464-HKiYDJRZnkG16KlAbEF34icgcVlaKGAF-0-6ecf742b59da8b86fc0c4d74d69566ab)
图5-21 运行结果
5.6.3 if嵌套
在嵌套if语句中,可以把if...elif...else结构放在另外一个if...elif...else结构中。该语法格式如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P109_57321.jpg?sign=1739620464-20iAFjH6JQPiRdfuM485DZOTAQ1WMPQ8-0-b2e6d3c5914a09f172a8e72c164d6a1e)
【例5.6】判断输入的数字是否既能整除2又能整除3(源代码\ch05\5.6.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P109_57322.jpg?sign=1739620464-mFbwOdshrGjdFGPESnfNEtVuBmazPAi2-0-92d98315a7b881aac0d2cc4fd15ab0fc)
保存并运行程序,结果如图5-22所示。从结果可以看出,输入的数字为105,再执行print("你输入的数字可以整除3,但不能整除2")语句。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P109_10647.jpg?sign=1739620464-jhOmBvZfSzrGxf0912xukEPc5kMAqcVf-0-0a6f466daf9ec98f35ecbedc92a0b3be)
图5-22 运行结果
5.6.4 多重条件判断
在Python编程中,经常会遇到多重条件比较的情况。在多重条件比较时,需要用到and或or运算符。其中,and运算符用于多个条件同时满足的情况;or运算符用于只有一个条件满足即可。
【例5.7】多重条件判断(源代码\ch05\5.7.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P109_57323.jpg?sign=1739620464-LdhHHiwqKqE2TwcC1ARniTVWSpK5G01Q-0-1aa2436dd3b2e86d61c1080f8eca4607)
保存并运行程序,结果如图5-23所示。从结果可以看出,由于3*3+4*4=5*5,因此执行print("直角三角形")语句。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P110_10751.jpg?sign=1739620464-WtKv66gkZMlqXZjThbDAR9OGAMv86zIL-0-83d3042e99d6a9b1f46b7f9ba174f332)
图5-23 运行结果