
上QQ阅读APP看书,第一时间看更新
5-5 if…elif…else语句
这是一个多重判断,程序设计时需要多个条件做比较时就比较有用,例如,在美国成绩计分是采取A、B、C、D、F 、… ,通常90~100分是A,80~89分是B,70~79分是C,60~69分是D,低于60分是F。若是使用Python可以用这个语句,很容易就可以完成这个工作。这个语句的基本语法如下。
if(条件判断一): 程序代码区块一 elif(条件判断二): 程序代码区块二 … else: 程序代码区块n
如果条件判断一是True则执行程序代码区块一,然后离开条件判断。否则检查条件判断二,如果是True则执行程序代码区块二,然后离开条件判断。如果条件判断是False则持续进行检查,上述elif的条件判断可以不断扩充,如果所有条件判断是False则执行程序代码区块n。下列流程图是假设只有两个条件判断来说明这个if … elif … else语句。

程序实例ch5_5.py:请输入数字分数,系统将响应A、B、C、D或F等级。

执行结果

程序实例ch5_6.py:有一地区的票价收费标准是100元。
(1)如果小于等于6岁或大于等于80岁,收费是打2折。
(2)如果是7~12岁或60~79岁,收费是打5折。
请输入年龄,程序会计算票价。

执行结果

上述程序的第6行和第9行,如果读者对于运算符执行的优先级没有太大的把握,建议直接用小括号将条件判断括起来,可参考ch5_6_1.py。

程序实例ch5_7.py:这个程序会要求输入字符,然后会告知所输入的字符是大写字母、小写字母、阿拉伯数字或特殊字符。

执行结果
