1.简单分支结构:if 语句
语法:
if <boolCondition>:
<statements>
其中, boolCondition 是一个**逻辑表达式,**用来选择程序的流程走向,在程序的实际执行过程中,如果表达式的值为 True ,则执行 if 分支的语句块 statements ;否则,绕过 if 分支,执行 if 语句块后面的其他语句。
2.选择分支结构: if … else 语句
语法:
if <boolCondition>:
<statements1>
else:
<statements2>
在程序执行过程中,如果 boolCondition 的值为 True ,则执行 if 分支的 statements1语句块;否则执行 else 分支的statements2语句块。
例 4-1分支语句的示例,分段函数计算,根据 x 的值,输出 y 的值。
#ex0401.py
import math
x = -37
if x<0:
y=math.fabs(x)
else:
y=math.sqrt(x)
print("计算结果是:",y)
3.多分支结构: if … elif … else 语句
语法:
if <boolCondition1>:
<statements1>
elif <boolCondition2>:
<statements2>
...
else:
<statementsN>
多分支 if 结构是选择分支的扩展,程序根据条件判断执行相应的分支,但只执行第一个条件为 True 的语句块,即执行一个分支后,其余分支不再执行。如果所有条件均为 False ,就执行 else 后面的语句块, else 分支是可选的。
例 4-2多分支程序的示例,根据月份计算该月的天数(未考虑闰年的情况)。
#ex0402.py
month = eval(input("请输入您选择的月份:"))
days = 0;
if (month == 1 or month == 3 or month == 5 or month == 7
or month == 8 or month == 10 or month == 12):
days = 31
elif (month == 4 or month == 6 or month == 9 or month == 11):
days = 30
else :
days = 28
print("{}月份的天数为{}".format(month,days))
4.分支的嵌套
分支的嵌套是指分支中还存在分支的情况,即 if 语句中还包含着 if 语句。
例如,一个计算购书款的程序。如果有会员卡,购书5本以上,书款按7.5折结算,5本以下,按8.5折结算;如果没有会员卡,购书5本以上,书款按8.5折结算,5本以下,按9.5折结算。
例 4-3使用分支的嵌套计算购书款。
#ex0403.py
flag = 1 #flag = 1表示有会员卡
books = 8 #购书数量
price = 234 #单价
actualpay = 0
if flag == 1:
if books >= 5:
actualpay = price * 0.75 * books
else :
actualpay = price * 0.85 * books
else :
if books >= 5:
actualpay = price * 0.85 * books
else :
actualpay = price * 0.95 * books
print("您的实际付款金额",actualpay)