美文网首页Python知识锦集
Python基础知识3: if判断语句

Python基础知识3: if判断语句

作者: IIronMan | 来源:发表于2018-10-23 11:22 被阅读15次

    一、判断的定义

    • 如果 条件满足,才能做某件事,
    • 如果 条件不满足,就做另外一件事情,或者什么也不做

    另外:判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支。

    二、if 语句体验

    • 2.1、在Python中,if 语句 就是用来进行判断的,格式如下:

      if 要判断的条件:
           条件成立时,要做的事情
           ......
      

      注意:代码的缩进为一个 tab 键,或者4个空格--建议使用空格,特别指出:在Python开发中,Tab和空格不要混用
      练习年龄是否大于成年,代码如下:

      age = 26
      if age >= 18:
          print("已经成年")
      
    • 2.2、在Python中 if的条件不成立的时候所做的事情就要使用到 else 了,如下代码:

      age = 16
      if age >= 18:
          print("已经成年人") # 条件成立所做的事情
      else:
          print("还是未成年人") # 条件不成立所做的事情
      

      注意: if 与 else 语句以及各自的缩进部分共同是一个 完整的代码块

    • 2.3、逻辑运算 : and(与)、or(或)、not(非)
      在程序开发中,通常 在判断条件时,会需要同时判断多个条件;只有多个条件都满足,才能执行后续代码,这个时候需要使用到 逻辑运算符;逻辑运算符可以把 多个条件按照逻辑进行连接,变成 更复杂的条件,Python中 逻辑运算符包括:and(与)、or(或)、not(非)

      • and`(与): 两边都成立才成立,否则条件不成立
      • or(或):两边至少有一个成立才成立,否则条件不成立
      • not(非): 条件取反

      and:练习代码1、要求判断一个人的年龄是否在 10-50之间,包括两端,如下:

      age = 30
      if age >= 10 and age <=50:
           print("age在10-50之间")
      else:
           print("age不在10-50之间")
      

      or:练习代码2、要求判断一个人语文和英语两门课是否有一门及格(成绩大于等于60就是及格),如下:

      chineseGrade = 60
      englishGrade = 30
      
      if chineseGrade >= 60 or englishGrade >= 60:
          print("至少有一门成绩及格")
      else:
          print("两门成绩都不及格")
      

      not:练习代码3、要求判断一个人是不是公司的员工,如下:

      # 在开发中希望某个条件不满足时执行一些代码,可以使用not;
      # 另外如果需要拼接复杂的逻辑计算条件,同样也有可能使用到 not;
      is_employee = False
      if not is_employee:
          print("非本公司员工,禁止入内")
      

    三、if 语句进阶

    • 3.1、elif
      在开发中,使用 if 可以判断条件;使用 else 可以处理条件不成立 的情况;但是,如果希望 再增加一些条件,条件不同,需要执行的代码也不同 时,就可以使用 elif
      语法如下:

      if 条件1:
           条件1满足执行的代码
           ......
      elif 条件2:
           条件2满足执行的代码
           ......
      elif 条件3:
           条件2满足执行的代码
           ......
      else :
           以上条件都不满足时候执行的代码
           ......
      

      注意: elifelse 都必须和 if 联合使用,而不能单独使用;可以将 ifelifelse 以及各自缩进的代码,看成一个完整的代码块
      看下面的演练code(女友生日的判断):

      holiday_day = "平安夜"
      
      if holiday_day == "平安夜":
          print("买苹果")
      elif holiday_day == "情人节":
          print("买鲜花")
      elif holiday_day == "生日":
          print("买蛋糕")
      else:
          print("普通的一天,在家睡觉")
      
    • 3.2、if的嵌套

      elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级
      1.在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中 再增加条件判断,就可以使用 if 的嵌套
      2. if的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
      3.if的嵌套 的语法格式,除了缩进之外 和之前的没有区别

      语法如下:

      if 条件1:
          条件1满足执行的代码
          ......
          if 条件1基础上的条件2:
                条件2满足执行的代码
                ......
          else :
                条件2不满足执行的代码
      else :
          条件1不满足执行的代码
           ......
      

      看下面的需求写code

      1.定义布尔变量 has_ticket 表示是否有火车票
      2.定义整型变量 knife_length 表示刀的长度,单位:厘米
      3.首先检查是否有车票,如果有,才允许进行 安检
      4.安检时候,需要检查刀的长度,判断是否超过20cm
      如果超过 20 厘米,提示刀的长度,不允许上车
      如果不超过 20 厘米,安检通过
      5.如果没有车票不允许进门

      看下面的code

      # 定义布尔变量 `has_ticket` 表示是否有火车票
      has_ticket = True
      # 定义整型变量 `knife_length` 表示刀的长度,单位:厘米
      knife_length = 30
      
      if has_ticket:
          # 有车票
          print("有车票")
          if knife_length > 20:
              print("您携带的刀子长度是 %ld,超过20里面,不允许您上车" % knife_length)
          else:
              print("安检通过")
      else:
          print("没有车票,无法进行乘车")
      

    四、if 语句的综合运用:剪刀石头布

    • 4.1、随机数(下面的综合运用会涉及到)

      • Python 中,要使用随机数,首先要导入 随机数模块 -- “工具包”

        import random
        
      • 在导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 tab 键,会提示该模块中包含的所有函数

      • random.randint(a,b) ,返回 [a,b] 之间的整数,包含 ab

      • 例如:

        random.randint(3,10)     # 生成的随机数n: 3<= n <= 20
        random.randint(10,10)   # 结果永远是 10
        random.randint(10,3)     # 该语句是错误的,下限必须小于上限
        
    • 4.2、需求:

    1.从控制台输入要出的拳--石头(1)、剪刀(2)、布(3)
    2.电脑 随机 出拳
    3.比较胜负
    4.胜利的标准石头 胜 剪刀剪刀 胜 布布 胜 石头

    # 注意:在导入工具包的时候,应该导入的语句,放在文件的顶部,
    # 因为这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具
    import random
    
    # 定义玩家的变量
    player = int(input("请输入要出的拳--石头(1)、剪刀(2)、布(3): "))
    
    # 电脑出的拳
    computer = random.randint(1,3)
    
    print("玩家出的 %d 电脑出的 %d" % (player,computer))
    
    # 玩家赢的可能是  石头:剪刀; 剪刀:布 ; 布:石头
    if (player==1 and computer == 2) or (player==2 and computer == 3) or (player==3 and computer == 1):
    
        print("欧耶,电脑弱爆了")
    elif player == computer:
        print("真是心有灵犀,再来一局吧")
    else:
        print("我不服,再来")
    

    注意:大家可以看到上面的if后面的语句很长,可加个括号如下:

     if (player==1 and computer == 2) or (player==2 and computer == 3) or (player==3 and computer == 1):
         print("上面太长了")
    

    改过后如下:(两头加括号,在or前面按回车)

    if ((player==1 and computer == 2) 
            or (player==2 and computer == 3)  # 前面相对于上一行有 8 个空格
            or (player==3 and computer == 1)):
    

    相关文章

      网友评论

        本文标题:Python基础知识3: if判断语句

        本文链接:https://www.haomeiwen.com/subject/hltrzftx.html