Chapter 05 Python判断语句

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!


前言

进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础、最为核心的功能。在Python中,判断语句是通过条件判断来控制程序的执行流程的一种机制。


一、布尔类型

进行判断,只有2个结果

在这里插入图片描述
程序中,是如何描述是或否的呢?
使用的是布尔类型。布尔(bool)表达现实生活中的逻辑,即真和假。
布尔类型字面量:

  • True表示真(是、肯定)
  • False表示假(否、否定)

定义变量存储布尔类型数据格式:
变量名称 = 布尔类型字面量

#定义变量存储布尔类型的数据
bool_1 = True
bool_2 = False
print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool-2变量的内容是:{bool_2},类型是:{type(bool_2)}")

输出结果:
bool_1变量的内容是:True,类型是:<class ‘bool’>
bool-2变量的内容是:False,类型是:<class ‘bool’>

布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到
比较运算符:
在这里插入图片描述

# 比较运算符的使用(== !=,>,<,>=,<=)
num1 = 10
num2 = 10
print(f"10==10的结果是:{num1==num2}")
num1 = 10
num2 = 11
print(f"10>=10的结果是:{num1>=num2}")
print(f"10!=10的结果是:{num1!=num2}")
print(f"10<=10的结果是:{num1<=num2}")

输出结果:
10==10的结果是:True
10>=10的结果是:False
10!=10的结果是:True
10<=10的结果是:True

二、if语句

①if语句的基本格式:

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

②if语句的注意事项:

  • 判断条件的结果一定要是布尔类型,True会执行if内的代码语句;False则不会执行。
  • 不要忘记判断条件后的引号“:”
  • 归属于if语句的代码块,需在前方填充4个空格缩进,Python通过缩进判断代码块的归属关系。

当判断结果为True时:

age=18
print(f"今年我已经{age}岁了")
if age>=18:
    print("我已经成年了")
#下面这句代码在if语句之外的,所以无论条件是否成立,都会执行,它与if是是同级的代码块
print("时间过得真快")

输出结果:
今年我已经18岁了
我已经成年了
时间过得真快

当判断结果为False时:

age=10
print(f"今年我已经{age}岁了")
if age>=18:
    print("我已经成年了")
#下面这句代码在if语句之外的,所以无论条件是否成立,都会执行,它与if是是同级的代码块
print("时间过得真快")

输出结果:
今年我已经10岁了
时间过得真快

【例题】
结合前面学习的input输入语句,完成如下案例:
1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)
2.通过if判断是否是成年人,满足条件则输出提示信息,如下:
欢迎来到儿童游乐场,儿童免费,成人收费。
请输入你的年龄:30
您已成年,游玩需要补票10元
祝您游玩愉快!

print("欢迎来到儿童游乐场,儿童免费,成人收费。")
print("请输入你的年龄:")
# input()语句无论键盘输入何种类型的数据,最终的结果都是字符串类型的数据
# 在这里我们需要将其进行数据转换,转换成整数
age=int(input())
if age>=18:
    print("您已成年,游玩需要补票10元")
print("祝您游玩愉快!")

键盘键入30后,输出结果:
欢迎来到儿童游乐场,儿童免费,成人收费。
请输入你的年龄:
30
您已成年,游玩需要补票10元
祝您游玩愉快!

三、if else语句

①if else语句的基本格式:
if 条件:
  满足条件时要做的事情1
  满足条件时要做的事情2
  满足条件时要做的事情3
  …(省略)…
else:
  不满足条件时要做的事情1
  不满足条件时要做的事情2
  不满足条件时要做的事情3
  …(省略)…

②if else语句的注意事项:

  • else不需要判断条件,当if的条件不满足时,else执行
  • 和if的代码块一样,else的代码块同样需要4个空格作为缩进
print("欢迎来到儿童游乐场,儿童免费,成人收费。")
print("请输入你的年龄:")
# input()语句无论键盘输入何种类型的数据,最终的结果都是字符串类型的数据
# 在这里我们需要将其进行数据转换,转换成整数
age=int(input())
if age>=18:
    print("您已成年,游玩需要补票10元")
else:
    print("您未成年,可以免费畅玩")
print("祝您游玩愉快!")

键盘键入10后,输出结果:
欢迎来到儿童游乐场,儿童免费,成人收费。
请输入你的年龄:
10
您未成年,可以免费畅玩
祝您游玩愉快!

四、if elif else语句

①if elif else语句的基本格式:
if 条件1:
  条件1满足应做的事情
  条件1满足应做的事情
  ……
elif 条件2:
  条件2满足应做的事情
  条件2满足应做的事情
  ……
elif 条件N:
  条件N满足应做的事情
  条件N满足应做的事情
  ……
else:
  所有条件都不满足应做的事情
  所有条件都不满足应做的事情
  ……

②if elif else语句的注意事项:

  • elif可以写多个
  • 判断是互斥且有序的,上一个满足后面的就不会判断了
print("欢迎来到儿童游乐场。")
if int(input("请输入你的身高(cm):"))<120:
    print("身高小于120cm,可免费游玩。")
elif int(input("请输入你的VIP等级(1-5):"))>3:
    print("VIP级别大于3,可免费游玩。")
else:
    print("不好意思,条件都不满足,需要买票10元")
print("祝您游玩愉快!")

键盘输入170和4后,输出结果:
欢迎来到儿童游乐场。
请输入你的身高(cm):170
请输入你的VIP等级(1-5):4
VIP级别大于3,可免费游玩。
祝您游玩愉快!

五、判断语句的嵌套

在很多场景下,不仅仅有多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。嵌套判断语句可以用于多条件、多层次的逻辑判断。
在这里插入图片描述
①嵌套语句的基本格式:
if 条件1:
  满足条件1 做的事情1
  满足条件1 做的事情2
  if 条件2:
    满足条件2 做的事情1
    满足条件2 做的事情2

第二个if,归属于第一个if内,只有第一个if满足条件,才会执行第二个if。

②嵌套语句的注意事项:

  • 嵌套的关键点,在于空格缩进
  • 通过空格缩进,来决定语句之间的层次关系
  • if elif else 可以自由组合,满足缩进的要求即可

【例题】
使用自由组合嵌套完成该例题,需求如下:
公司要发礼物,条件是:
1.必须是大于等于18岁小于30岁的员工
2. 同时入职时间需满足大于两年,或者级别大于3才可领取

age=20
work_year=1
level=5
if age >= 18:
    print("年龄已满18岁,继续判断")
    if age < 30:
        print("年龄未满30岁,继续判断")
        if work_year > 2:
            print("年龄符合且入职超过2年,满足条件,可以领取礼物")
        elif level > 3:
            print("年龄符合且级别大于3,满足条件,可以领取礼物")
        else:
            print("Sorry,年龄符合,但入职时间或者级别不满足要求")
    else:
        print("您的年龄过大,不可领取礼物")
else:
    print("Sorry,您的年龄过小,不可领取礼物")

输出结果:
年龄已满18岁,继续判断
年龄未满30岁,继续判断
年龄符合且级别大于3,满足条件,可以领取礼物

【综合案例】
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出来数字
案例要求:
1.数字随机产生,范围1-10
2.有3次机会猜测数字,通过3层嵌套判断实现
3.每次猜不中,会提示大了或小了
提示,通过如下代码,可以定义一个变量num,变量内存储随机数字。
import random
num=random.randint(1,10)

import random
num=random.randint(1,10)
guess_num=int(input("请输入你猜想的数字:"))

if guess_num==num:
    print("恭喜你,你第一次就猜中了")
else:
    if guess_num>num:
        print("抱歉没猜中,你猜的数字大了")
    else:
        print("抱歉没猜中,你猜的数字小了")

    guess_num=int(input("请再次输入你猜想的数字:"))
    if guess_num == num:
        print("恭喜你,你第二次猜中了")
    else:
        if guess_num > num:
            print("抱歉没猜中,你猜的数字大了")
        else:
            print("抱歉没猜中,你猜的数字小了")

        guess_num = int(input("请第三次输入你猜想的数字:"))
        if guess_num == num:
            print("恭喜你,你第三次猜中了")
        else:
            if guess_num > num:
                print("抱歉没猜中,你猜的数字大了")
            else:
                print("抱歉没猜中,你猜的数字小了")

输出结果(不唯一):

请输入你猜想的数字:9
抱歉没猜中,你猜的数字大了
请再次输入你猜想的数字:5
抱歉没猜中,你猜的数字大了
请第三次输入你猜想的数字:2
抱歉没猜中,你猜的数字大了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值