目录
条件控制(if判断语句)
布尔对象(bool)
if语句
条件嵌套判断
三目运算
If判断语句就是通过判断条件语句是否成立来决定后面的代码执行,如果条件表达式成立(True)就执行对应的代码,如果不成立(False)就不执行。
条件控制和后面的循环都是通过判断条件表达式的bool值来决定执行代码块。布尔对象的取值只有两种:True和False,对应真(是/有)和假(否/无)。布尔对象(bool)常用的表达条件:
布尔表达式:布尔表达式就是运算结果表达式。通常有以下几种:
运算符
条件组合
条件组合表达式的运算优先级:not>and>or 可以通过使用括号改变优先级
判断语句的关键字:if...elif...else... (如果...否则如果(else if)...否则...)
if语句可以没有elif和else:如果只需要判断的结果为是(True)时执行代码,其他结果不用执行,可以只有一个if...语句;如果判断结果除了是执行这个代码,其他为否的执行另一个代码,那么用if...else...语句;如果有多个(三个或三个以上)判断条件,且每种条件下执行的代码各不相同,就用if...elif...else...语句。
例子:定义一个车辆计价器的函数
里程(公里) |
收费(元/公里) |
<=3 |
20 |
>3且<=10 |
18 |
>10且<=50 |
15 |
>50 |
10 |
def charge():
miles = int(input("请输入您的路程(公里):"))
if miles <=3:
print('20 元/每公里')
return miles*20
elif 3
条件嵌套支持层层嵌套,每个嵌套语句下都可以再嵌套
仍然定义一个车辆计价器:
里程(公里) |
时间(小时) |
价格(元/公里) |
<=5 |
小于等于0.5 |
20 |
大于0.5 |
18 |
|
>5 |
小于等于1.2 |
18 |
大于1.2 |
15 |
def charge_new():
miles = int(input('请输入您行驶的路程(公里):'))
times = int(input("请输入您行驶的时间(小时):"))
if miles <= 5:
if times <= 0.5:
print('20 元/每公里')
return miles * 20
else:
print('18 元/每公里')
return miles * 18
else:
if times <= 1.2:
print('18 元/每公里')
return miles * 18
else:
print('15 元/每公里')
return miles * 15
a = charge_new()
print(a,'元')
不嵌套的方法就是使用条件组合作为判断条件:
def charge_new():
miles = int(input('请输入您行驶的路程(公里):'))
times = int(input("请输入您行驶的时间(小时):"))
if miles <= 5 and times <= 0.5:
print('20 元/每公里')
return miles * 20
if miles <= 5 and times > 0.5:
print('18 元/每公里')
return miles * 18
if miles > 5 and times <= 1.2:
print('18 元/每公里')
return miles * 18
if miles > 5 and times > 1.2:
print('15 元/每公里')
return miles * 15
a = charge_new()
print(a,'元')
条件语句的三元运算(三目运算):把一个简单的条件判断写成一行的形式。
三目运算的只适合简单的if...else...形式的条件判断语句:
表达式语法:if的语句体 if 条件判断语句 else else的语句体
if 1==1:
print('符合条件:True')
else:
print('不符合条件:False')
上面的简单代码写成三目运算的表达式:
print('符合条件:True') if 1==1 else print('不符合条件:False')