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)}")
运行结果:
- 比较运算符的使用
- 进行内容的相等比较
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}")
运行结果:
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}")
运行结果:
2.2 if语句的基本格式
if语句的基本格式
if 要判断的条件:
条件成立时,要做的事情
if 语句的基本格式应用:
age = 30
if age >= 18:
print("我已经成年了")
print("即将步入大学生活")
print("时间过的真快呀")
运行结果:
age = 10
if age >= 18:
print("我已经成年了")
print("即将步入大学生活")
print("时间过的真快呀")
运行结果:
注意:
1.判断语句的结果,必须是布尔类型True或False。True会执行if内的代码语句,False则不会执行
2.归属于if判断的代码语句块,需在前方填充4个空格缩进。Python通过缩进判断代码块的归属关系。
3.不要忘记判断条件后的:冒号
2.3 练习案例:成年人判断
代码源码,可以运行:
print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
# 使用input函数输入年龄
age = int(input("请输入你的年龄:"))
# 使用if判断语句判断是否需要购票
if age >= 18:
print("您已成年,游玩需要补票10元")
print("祝您游玩愉快")
输出结果1:
输出结果2:
2.4 if else 语句
if else语句的基本格式
if 条件:
满足条件要做的事
else:
不满足条件时要做的事
if else的组合判断语句
print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
age = int(input("请输入你的年龄:"))
if age >= 18:
print("您已成年,游玩需要补票10元")
else:
print("您未成年,可以免费游玩")
print("祝您游玩愉快")
输出结果:
注意:
1.else后,不需要判断条件,当if的条件不满足时,else执行
2.和if的代码块一样,else的代码块同样需要4个空格作为缩进
3.不要忘记else后的:冒号
2.5 练习案例:我要买票吗
代码源码,可以运行:
print("欢迎来到黑马动物园。")
height = int(input("请输入你的身高(cm):"))
if height > 120:
print("您的身高超出120cm,游玩需要购票10元。")
else:
print("您的身高未超出120cm,可以免费游玩。")
print("祝您游玩愉快。")
输出结果1:
输出结果2:
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("祝您游玩愉快。")
输出结果:
判断是互斥且有顺序的。
- 满足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 练习案例:猜猜心里的数字
代码源码,可以运行:
#定义一个变量数字
num = 10
#通过键盘输入获取猜想的数字,通过多次if和elif的组合进行猜想比较
if int(input("请输入第一次猜想的数字:")) == num:
print("恭喜第一次就猜对了。")
elif int(input("不对,再猜一次:")) == num:
print("恭喜,猜对了。")
elif int(input("不对,再猜最后一次:")) == num:
print("恭喜,最后一次机会,你猜对了。")
else:
print("Sorry,全部猜错了,我想的是%d" %num)
输出结果:
2.8 判断语句的嵌套
又很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对于这种需求,嵌套判断语句可以实现。
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 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("欢迎小朋友,免费游玩。")
输出结果:
案例:
代码如下,可以运行:
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("不好意思,小朋友不可以领取")
输出结果:
注意:
1. 嵌套判断语句可以用于多条件、多层次的逻辑判断。
2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断。
3.嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系。
2.9 判断语句的综合案例
提示:通过如下代码,可以定义一个变量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:
输出结果2:
输出结果3: