【黑马python】基础 3.Python 判断语句 if-else

笔记汇总目录

Python 判断语句

image

布尔类型和比较运算符

  • 布尔类型

    • 注意:True 和 False 都需要大写首字母
      image
  • 比较运算符

    • 注:Java中字符串比较用 equals
      image
  • python中字符串比较大小的规则

    • ASCII码或Unicode值 为标准,从第一个字符开始,挨个比较:谁大,字符串就大,结束比较
    • 第一个字符相同,则依次比较后一个字符,直到遇到不相同的字符,分出大小,结束比较。
    • 如果所有字符都相同,则比较字符串的长度:较短的字符串较小
    • 如果所有字符都相同长度相同,则两个字符串相等
  • 代码示例

    # 定义布尔类型的数据
    bool_1 = True
    bool_2 = False
    print(f"bool 1 的内容:{bool_1},类型:{type(bool_1)}")  # bool 1 的内容:True,类型:<class 'bool'>
    print(f"bool 2 的内容:{bool_2},类型:{type(bool_2)}")  # bool 2 的内容:False,类型:<class 'bool'>
    # 比较运算符: ==, !=, >, <, >=, <=
    num1 = 10
    num2 = 10
    num3 = 5
    s1 = "google"
    s2 = "map"
    print(f"10 == 10 的结果是:{num1 == num2}")  # True
    print(f"10 != 5 的结果是:{num1 != num3}")  # True
    print(f"10 > 5 的结果是:{num1 > num3}")  # True
    print(f"10 < 5 的结果是:{num1 < num3}")  # False
    print(f"10 >= 5 的结果是:{num1 >= num3}")  # True
    print(f"10 <= 5 的结果是:{num1 <= num3}")  # False
    
    # 注意:字符串比较的结果
    print(f"google == map 的结果是:{s1 == s2}")  # False
    print(f"google > map 的结果是:{s1 > s2}")  # False
    print(f"google < map 的结果是:{s1 < s2}")  # True
    

if语句的基本格式

  • if格式

    • 注意:条件结果为布尔类型;冒号;代码块缩进

image
image

  • 代码示例

    • 注意:if的代码块中间有空行时,仍然算一个代码块整体

      # if语句
      age = 20
      if age >= 18:
          print("大哥成年了")
      
          print("大哥快上大学了")
      
      print("时间真快呀!")
      """
      结果:
      大哥成年了
      大哥快上大学了
      时间真快呀!
      """
      
  • 练习:成年人判断

    • 注意:input() 返回值为字符串类型

    image

  • 代码示例

    # 成年人判断
    print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
    age = int(input("请输入你的年龄:"))  # 注意:输入float型数字,会报错 ValueError: invalid literal for int() with base 10: '1.2'
    if age >= 18:
        print("您已成年,游玩需要补票10元。")
    print("祝您游玩愉快。")
    

if else语句

  • if-else格式

    image
    image

  • 代码示例

    print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
    age = int(input("请输入你的年龄:"))
    if age >= 18:
        print("您已成年,游玩需要补票10元。")
    else:
        print("您未成年,可以免费游玩。")
    print("祝您游玩愉快。")
    
  • 练习:我要买票吗

    • image
  • 代码示例

    # 练习:我要买票吗
    print("欢迎来到黑马动物园。")
    h = int(input("请输入你的身高(cm):"))
    if h > 120:
        print("您的身高超出120cm,游玩需要购票10元。")
    else:
        print("您的身高未超出120cm,可以免费游玩。")
    print("祝您游玩愉快。")
    

if elif else语句

  • if-elif-else格式

    image

  • 注意点

    • elif可以 多个
    • 判断是:互斥、有序的
    • input输入语句 可以放入 判断条件中,节约代码量
      • 这样:input前面满足,后面不执行,不一定需要输入所有的值

image
image

  • 代码示例

    print("欢迎来到黑马动物园。")
    # h = int(input("请输入你的身高(cm):"))
    # vip = int(input("请输入你的VIP级别(1-5):"))
    # day = int(input("请告诉我今天是几号:"))
    if int(input("请输入你的身高(cm):")) < 120:
        print("您的身高未超出120cm,可以免费游玩。")
    elif int(input("请输入你的VIP级别(1-5):")) > 3:
        print("vip级别大于3,可以免费。")
    elif int(input("请告诉我今天是几号:")) == 1:
        print("今天是1号,可以免费。")
    else:
        print("不好意思,条件都不满足,游玩需要购票10元。")
    print("祝您游玩愉快。")
    
  • 练习:猜猜心里数字

    image

  • 代码示例

    # 猜猜心里数字
    num = 10
    if int(input("请输入第一次猜想的数字:")) == num:
        print(f"猜对啦!我想的是:{num}")
    elif int(input("不对,再猜一次:")) == num:
        print(f"猜对啦!我想的是:{num}")
    elif int(input("不对,再猜最后一次:")) == num:
        print(f"猜对啦!我想的是:{num}")
    else:
        print(f"Sorry,全部猜错啦,我想的是:{num}")
    

判断语句的嵌套

  • 注意点:空格缩进 -->决定层次关系

image
image

  • 代码示例

    # 判断语句的嵌套
    if int(input("身高是:")) > 120:
        print("身高超过,不可以免费")
        print("但是,如果是VIP>3,可以免费")
    
        if int(input("VIP级别是:")) > 3:
            print("VIP级别达标,可以免费。")
        else:
            print("SORRY, 你需要买票:10元")
    else:
        print("欢迎小朋友免费游玩。")
    
  • 练习:成年人的礼物

image

  • 代码示例2

    # 成年人礼物
    age = 20
    level = 3
    year = 1
    
    if age >= 18:
        print("你是成年人")
        if age < 30:
            print("你的年龄达标了")
            if year > 2:
                print("年龄和入职时间达标,可以领取")
            elif level > 3:
                print("年龄和级别达标,可以领取")
            else:
                print("不好意思,尽管年龄达标,但是其他条件不符。")
        else:
            print("不好意思,年龄太大了")
    else:
        print("不好意思,小朋友不可以领取哦")
    

实战案例

image

  • randint() 函数

    • random.randint(1, 10)会生成一个在 1到10(包括1和10) 之间的 随机 整数
    • 注意:闭区间,与range(start, end)左闭右开 区别
  • 代码示例

    # 超级臃肿版嵌套
    import random
    num = random.randint(1, 10)
    n1 = int(input("请输入第一次猜的数字:"))
    
    if n1 == num:
        print("你一次就猜对啦")
    elif n1 < num:
        print("太小了")
        n2 = int(input("请输入第二次猜的数字:"))
        if n2 == num:
            print("你第二次猜就猜对啦")
        elif n2 < num:
            print("太小了")
            n3 = int(input("请输入最后一次猜的数字:"))
            if n3 == num:
                print("你终于猜对啦")
            else:
                print("sorry,机会用完了,你没有猜对!")
        else:
            print("太大了")
            n3 = int(input("请输入最后一次猜的数字:"))
            if n3 == num:
                print("你终于猜对啦")
            else:
                print("sorry,机会用完了,你没有猜对!")
    else:  # n1 > num
        print("太大了")
        n2 = int(input("请输入第二次猜的数字:"))
        if n2 == num:
            print("你第二次猜就猜对啦")
        elif n2 < num:
            print("太小了")
            n3 = int(input("请输入最后一次猜的数字:"))
            if n3 == num:
                print("你终于猜对啦")
            else:
                print("sorry,机会用完了,你没有猜对!")
        else:
            print("太大了")
            n3 = int(input("请输入最后一次猜的数字:"))
            if n3 == num:
                print("你终于猜对啦")
            else:
                print("sorry,机会用完了,你没有猜对!")
    
  • 精简版嵌套的代码示例

    • 精简思路:

    • if-else大框架:仅处理==;其余细节在else中判断处理

    • 提示大小:仅输出即可结束,不作为分支的一部分

      # 猜数字3次:提示大小
      # if-else大框架:仅处理==;其余细节在else中判断处理
      # 提示大小:仅输出即可结束,不作为分支的一部分
      import random
      num = random.randint(1, 10)
      guess = int(input("请输入第一次猜的数字:"))
      
      if guess == num:
          print("第一次就猜对啦")
      else:
          if guess > num:
              print("太大了")
          else:
              print("太小了")
      
          guess = int(input("请第二次输入猜的数字:"))
          if guess == num:
              print("第二次就猜对啦")
          else:
              if guess > num:
                  print("太大啦")
              else:
                  print("太小了")
      
              guess = int(input("最后一次输入猜的数字:"))
              if guess == num:
                  print("终于猜对啦")
              else:
                  print("3次都结束了,你没有猜对")
      

参考链接

END

posted @ 2025-10-11 17:13  anliux  阅读(14)  评论(0)    收藏  举报