2021-2.if.....elif.....else语句

if语句的使用

一、if判断语句介绍

  • if语句是用来进行判断的,其使用格式如下:
    if 要判断的条件:
        条件成立时,要做的事情
Copy
  • demo1:
    age = 30

    print("------if判断开始------")

    if age >= 18:
        print("我已经成年了")

    print("------if判断结束------")
Copy
  • 运行结果:
    ------if判断开始------
    我已经成年了
    ------if判断结束------
Copy
  • 注意:代码的缩进为一个tab键,或者4个空格

  • if-else

    在使用if的时候,它只能做到满足条件时要做的事情。在不满足条件的时候,使用 if-else

    一、if-else的使用格式

        if 条件:
            满足条件时的操作
        else:
            不满足条件时的操作
    Copy
    

    demo1

        ticket = 1 # 用1代表有车票,0代表没有车票
        if ticket == 1:
            print("有车票,可以上火车")
            print("终于可以见到Ta了,美滋滋~~~")
        else:
            print("没有车票,不能上车")
            print("亲爱的,那就下次见了")
    Copy
    

    elif

    当条件A满足时做事情1;当条件A不满足、条件B满足时做事情2;当条件B不满足、条件C满足时做事情3,那用 elif。

    一、 elif的功能

    elif的使用格式如下:

        if xxx1:
            事情1
        elif xxx2:
            事情2
        elif xxx3:
            事情3
    Copy
    

    说明:

    • 当xxx1满足时,执行事情1,然后整个if结束
    • 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
    • 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束

    demo:

        score = 77
    
        if score>=90 and score<=100:
            print('本次考试,等级为A')
        elif score>=80 and score<90:
            print('本次考试,等级为B')
        elif score>=70 and score<80:
            print('本次考试,等级为C')
        elif score>=60 and score<70:
            print('本次考试,等级为D')
        elif score>=0 and score<60:
            print('本次考试,等级为E')
    Copy
    

    二、注意点

    • 可以和else一起使用

         if 性别为男性:
             输出男性的体重
             ...
         elif 性别为女性:
             输出女性的体重
             ...
         else:
             第三种性别的体重
             ...
      Copy
      

      说明:

      • 当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
      • 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
      • 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码

    elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用

if嵌套

通过学习if的基本用法,已经知道了

  • 当需要满足条件去做事情的这种情况需要使用if
  • 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:

坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:

if嵌套

一、if嵌套的格式

    if 条件1:

        满足条件1 做的事情1
        满足条件1 做的事情2

        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2
Copy
  • 说明
    • 外层的if判断,也可以是if-else
    • 内层的if判断,也可以是if-else
    • 根据实际开发的情况,进行选择

二、if嵌套的应用

demo:

ticket = 1     # 用1代表有车票,0代表没有车票
knife_length = 9     # 刀子的长度,单位为cm

if ticket == 1:
    print("有车票,可以进站")
    if knife_length < 10:
        print("通过安检")
        print("终于可以见到Ta了,美滋滋~~~")
    else:
        print("没有通过安检")
        print("刀子的长度超过规定,等待警察处理...")
else:
    print("没有车票,不能进站")
    print("亲爱的,那就下次见了")
Copy

结果1:ticket = 1;knife_length = 9

    有车票,可以进站
    通过安检
    终于可以见到Ta了,美滋滋~~~
Copy

结果2:ticket = 1;knife_length = 20

    有车票,可以进站
    没有通过安检
    刀子的长度超过规定,等待警察处理...
Copy

结果3:ticket = 0;knife_length = 9

    没有车票,不能进站
    亲爱的,那就下次见了
Copy

结果4:ticket = 0;knife_length = 20

    没有车票,不能进站
    亲爱的,那就下次见了
Copy
  • 想一想:为什么结果3和结果4相同???

  • 应用:猜拳游戏

    参考代码:

import random

player = input(‘请输入:剪刀(0) 石头(1) 布(2):’)

player = int(player)

产生随机整数:0、1、2 中的某一个

computer = random.randint(0,2)

用来进行测试

#print(‘player=%d,computer=%d’,(player,computer))

if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print(‘获胜,哈哈,你太厉害了’)
elif player == computer:
print(‘平局,要不再来一局’)
else:
print(‘输了,不要走,洗洗手接着来,决战到天亮’)

if补充内容

一、区间比较:

在Python中允许类似于 5<a<10 的写法,这种写法在很多编程语言里都是不允许的,需要使用逻辑与运算符进行连接。

a = 10
1<a<20  # True
11<a<20  # False
Copy

二、三元运算符:

格式: 变量 = 值1 if 条件 else 值2 当条件成立时把 值1 赋值给变量,条件不成立时把 值2 赋值给变量,其实就是对if…else 语句的一种简写。

示例:

a = 10
b = 30
if a > b:
    c = a
else:
    c = b
print('a和b两个数的较大值是%d'%c)
Copy

以上的 if...else 代码可以简写成以下格式:

a = 10
b = 30
c = a if a>b else b
print('a和b两个数的较大值是%d'%c)
Copy

三、自动类型转换

if 语句需要一个判断条件,这个判断条件的结果需要一个布尔值。如果此时输入的判断条件不是一个布尔值,在代码执行的过程中,会将这个值自动转换成为一个布尔值。

if 1<2: # if语句的判断条件需要一个布尔值
    print('1小于2')

if "hello": # if 判断条件后没有传入布尔值,会自动把它转换成为布尔值
    print("这段代码是否会输出呢?")
Copy

提示:在Python中,转换成为布尔值时,只有 0,"",'',None,(),{},[] 会被转换成为False,其他都会被转换成为True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值