2.1  布尔类型和比较运算符

布尔类型用于表示:真和假

比较运算符用于计算:真和假

1. 布尔(bool)表示现实生活中的逻辑,即真和假

  • True表示真
  • False表示假

True本质上是一个数字记作1,False记作0

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

布尔类型不仅可以自行定义,同时也可以通过计算得来。也就是使用比较运算符进行比较运算得到布尔类型的结果。

2. 比较运算符:==、!=、>、<、>=、<=

3. 演示布尔类型的定义以及比较运算符的使用

  • 定义变量存储布尔类型的数据          
bool_1 = True
bool_2 = False #True和False首字母要大写
print(f"bool_1的变量内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_2的变量内容是:{bool_2},类型是:{type(bool_2)}")

        运行结果:

        

python Entry判断不能为空_python Entry判断不能为空

  • 比较运算符的使用
  1. 进行内容的相等比较                
num1 = 10
num2 = 10
print(f"10 == 10的结果是:{num1 == num2}")

num1 = 10
num2 = 15
print(f"10 != 15的结果是:{num1 != num2}")

name1 = "itcast"
name2 = "itheima"
print(f"itcast == itheima的结果是:{name1 == name2}")

        运行结果:

        

python Entry判断不能为空_笔记_02

     2. 进行 >、<、>=、<= 的比较

num1 = 10
num2 = 5
print(f"10 > 5的结果是:{num1 > num2}")
print(f"10 < 5的结果是:{num1 < num2}")

num1 = 10
num2 = 11
print(f"10 >= 11的结果是:{num1 >= num2}")
print(f"10 <= 11的结果是:{num1 <= num2}")

        运行结果:

        

python Entry判断不能为空_嵌套_03

2.2  if语句的基本格式

if语句的基本格式

  if 要判断的条件:

        条件成立时,要做的事情

if 语句的基本格式应用:

age = 30

if age >= 18:
    print("我已经成年了")
    print("即将步入大学生活")

print("时间过的真快呀")

运行结果:

python Entry判断不能为空_python Entry判断不能为空_04

age = 10

if age >= 18:
    print("我已经成年了")
    print("即将步入大学生活")

print("时间过的真快呀")

运行结果:

python Entry判断不能为空_笔记_05

注意:

1.判断语句的结果,必须是布尔类型True或False。True会执行if内的代码语句,False则不会执行

2.归属于if判断的代码语句块,需在前方填充4个空格缩进。Python通过缩进判断代码块的归属关系。

3.不要忘记判断条件后的:冒号

2.3  练习案例:成年人判断

python Entry判断不能为空_嵌套_06

代码源码,可以运行:

print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
# 使用input函数输入年龄
age = int(input("请输入你的年龄:"))

# 使用if判断语句判断是否需要购票
if age >= 18:
    print("您已成年,游玩需要补票10元")

print("祝您游玩愉快")

 输出结果1:

python Entry判断不能为空_缩进_07

输出结果2:

python Entry判断不能为空_嵌套_08

2.4  if else 语句

if else语句的基本格式

if 条件:

        满足条件要做的事

else:

        不满足条件时要做的事

if else的组合判断语句

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

输出结果:

python Entry判断不能为空_缩进_09

注意:

1.else后,不需要判断条件,当if的条件不满足时,else执行

2.和if的代码块一样,else的代码块同样需要4个空格作为缩进

3.不要忘记else后的:冒号

2.5  练习案例:我要买票吗

python Entry判断不能为空_python_10

代码源码,可以运行:

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

print("祝您游玩愉快。")

输出结果1:

python Entry判断不能为空_缩进_11

输出结果2:

python Entry判断不能为空_嵌套_12

2.6  if elif else 语句

if elif else语句的基本格式

if  条件1:

        条件1满足应做的事情

elif  条件2:

        条件2满足应做的事情

 ... ...

elif 条件N:

        条件N满足应做的事情

else:

        所有条件都不满足应做的事情

1. 作用:可以完成多个条件的判断

2. if elif else 多条件判断语句的使用:

print("欢迎来到黑马动物园。")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip等级(1-5):"))
day = int(input("请输入今天的日期(1-31):"))

if height < 120:
    print("您的身高小于120cm,可以免费游玩。")
elif vip_level > 3:
    print("您的vip等级大于3,可以免费游玩。")
elif day == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有条件都不满足,需要购票。")

print("祝您游玩愉快。")

输出结果:

python Entry判断不能为空_python Entry判断不能为空_13

python Entry判断不能为空_python_14

判断是互斥且有顺序的。

  • 满足1(如上图的编号)将不会理会2和3
  • 满足2,将不会理会3
  • 1、2、3均不满足,进入else
  • else也可以省略不写,效果等同3个独立的if判断
  • 空格缩进同样可省略

3. 可以将input语句写入判断条件中,节省代码量,代码如下:

print("欢迎来到黑马动物园。")
if int(input("请输入你的身高(cm):")) < 120:
    print("您的身高小于120cm,可以免费游玩。")
elif int(input("请输入你的vip等级(1-5):")) > 3:
    print("您的vip等级大于3,可以免费游玩。")
elif int(input("请输入今天的日期(1-31):")) == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有条件都不满足,需要购票。")

print("祝您游玩愉快。")

注意:

1.elif可以写多个

2.判断是互斥且有序的,上一个条件满足就不会判断了

3.可以在条件判断中,直接写input语句,节省代码量。

2.7  练习案例:猜猜心里的数字

python Entry判断不能为空_缩进_15

代码源码,可以运行:

#定义一个变量数字
num = 10
#通过键盘输入获取猜想的数字,通过多次if和elif的组合进行猜想比较
if int(input("请输入第一次猜想的数字:")) == num:
    print("恭喜第一次就猜对了。")
elif int(input("不对,再猜一次:")) == num:
    print("恭喜,猜对了。")
elif int(input("不对,再猜最后一次:")) == num:
    print("恭喜,最后一次机会,你猜对了。")
else:
    print("Sorry,全部猜错了,我想的是%d" %num)

输出结果:

python Entry判断不能为空_嵌套_16

2.8  判断语句的嵌套

又很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。

对于这种需求,嵌套判断语句可以实现。

python Entry判断不能为空_笔记_17

许多逻辑的判断,是嵌套的,多层次的。

对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求。

嵌套判断语句的基本格式:

if  条件1:

        满足条件1做的事情1


        if  条件2:

                满足条件2做的事情2

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

嵌套的关键点,在于:空格缩进

通过空格缩进,来决定语句之间的:层次关系

判断语句的嵌套使用:

if int(input("你的身高是多少(cm):")) > 120:
    print("身高超出限制,不可以免费。")
    print("但是,如果vip级别大于3,可以免费")

    if int(input("你的vip级别是多少:")) > 3:
        print("恭喜你,vip级别达标,可以免费")
    else:
        print("Sorry 你需要买票10元")
else:
    print("欢迎小朋友,免费游玩。")

输出结果:

python Entry判断不能为空_python_18

案例:

python Entry判断不能为空_笔记_19

代码如下,可以运行:

age = 23
year = 3
level = 5
if age >= 18:
    print("你是成年人")
    if age < 30:
        print("你的年龄达标了")
        if year > 2:
            print("恭喜你,年龄和入职时间都达标,可以领取礼物")
        elif level > 3:
            print("恭喜你,年龄和级别达标,可以领取礼物")
        else:
            print("不好意思,尽管年龄达标,但是入职时间和级别都不达标")

    else:
        print("不好意思,年龄太大了")

else:
    print("不好意思,小朋友不可以领取")

输出结果:

python Entry判断不能为空_笔记_20

注意:

1. 嵌套判断语句可以用于多条件、多层次的逻辑判断。

2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断。

3.嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系。

2.9  判断语句的综合案例

python Entry判断不能为空_缩进_21

提示:通过如下代码,可以定义一个变量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:
            print("三次机会用完了,没有猜中。")

输出结果1:

python Entry判断不能为空_嵌套_22

输出结果2:

python Entry判断不能为空_python Entry判断不能为空_23

输出结果3:

python Entry判断不能为空_缩进_24