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