python-条件控制(if语句)

条件控制(if判断语句)

If判断语句就是通过判断条件语句是否成立来决定后面的代码执行,如果条件表达式成立(True)就执行对应的代码,如果不成立(False)就不执行。

布尔对象(bool)

条件控制和后面的循环都是通过判断条件表达式的bool值来决定执行代码块。布尔对象的取值只有两种:True和False,对应真(是/有)和假(否/无)。布尔对象(bool)常用的表达条件:

布尔表达式:布尔表达式就是运算结果表达式。通常有以下几种:

运算符

  • 相等:==
  • 不等:!=
  • 大于:>        
  • 小于:<     
  • 大于等于:>=     
  • 小于等于:<=

条件组合

  • 且(和)关系      and 有假为假
  • 或关系         or  有真为真
  • 非关系         not 是假即真,是真即假(将布尔表达式的结果反过来)

条件组合表达式的运算优先级:not>and>or  可以通过使用括号改变优先级

if语句

判断语句的关键字: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<miles <=10:
        print('18 元/每公里')
        return miles * 18
    elif 10<miles <=50:
        print('15 元/每公里')
        return miles * 15
    else:
        print('15 元/每公里')
        return miles*10
    
a = charge()
print(a,'元')

条件嵌套判断

条件嵌套支持层层嵌套,每个嵌套语句下都可以再嵌套

仍然定义一个车辆计价器:

里程(公里)

时间(小时)

价格(元/公里)

<=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')

 

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页