
上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区块。下列流程图是假设只有2个条件判断说明这个if … elif … else语句。

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

执行结果

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

执行结果

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

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

执行结果
