- Python王者归来
- 洪锦魁
- 548字
- 2020-08-28 21:54:52
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语句。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P56_36728.jpg?sign=1739604457-kNk2qQQOuWNzP59qe4yxr1VxekehxuSI-0-29a0ca634a92b71d7686fc368c310b08)
程序实例ch5_5.py:请输入数字分数,系统将响应A、B、C、D或F等级。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37131.jpg?sign=1739604457-QWHy4nwErTHYAENn9koxA4pFI9XQVIFY-0-4dd5a925c347347b2312ab9feb9f9001)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37137.jpg?sign=1739604457-C6omjmitlZpoHdfGatEcheAhH7VDfrVv-0-34b4cb248547a75a1b3700c55bda5b58)
程序实例ch5_6.py:有一地区的票价收费标准是100元。
● 但是如果小于等于6岁或大于等于80岁,收费是打2折。
● 但是如果是7-12岁或60-79岁,收费是打5折。
请输入岁数,程序会计算票价。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37140.jpg?sign=1739604457-iSGew7LYjGzgv9p0x1ZwDlxtp1TfMFRO-0-46e33c3eaaffc2c0a442384eec3b8603)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37146.jpg?sign=1739604457-ozlzUEBaib2kpq2v8vIE4pNRUCHwQEC9-0-82acf302ed57e86303c2e206d58e4ce7)
上述程序的第6行和第9行,如果你对于运算符执行的优先级没有太大的把握,建议可以直接用小括号将条件判断括起来,可参考ch5_6_1.py。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37149.jpg?sign=1739604457-djjB8fnbqbZTQxoPBnHyygn0gkXLyem8-0-be629d7a1c16609253a8be43bb4ec8e0)
程序实例ch5_7.py:这个程序会要求输入字符,然后会告知所输入的字符是大写字母、小写字母、阿拉伯数字或特殊字符。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37152.jpg?sign=1739604457-CRnxXyr9ILoftRXKQezbFBQr1GCMX45a-0-3dd99d5053ca44c8ef25037fe7a1f6cd)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P57_37158.jpg?sign=1739604457-z2zZZjlVheBdiG1Smhy8DSWys2Dhm5pm-0-9c6550cc407a8bd3c6615ac7f11b9bfb)