Python-第三天 Python判断语句
- 一、 布尔类型和比较运算符
- 1.布尔类型
- 2.比较运算符
- 二、if语句的基本格式
- 1.if 判断语句语法
- 2.案例
- 三、 if else 语句
- 1.语法
- 2.案例
- 四 if elif else语句
- 1.语法
- 五、判断语句的嵌套
- 1.语法
- 六、实战案例
一、 布尔类型和比较运算符
1.布尔类型
布尔(bool):
表达现实生活中的逻辑,即真和假
- True表示真
- False表示假
True本质上是一个数字记作1,False记作0
布尔类型的定义
变量名称 = 布尔类型字面量
布尔类型的字面量:
- True 表示真(是、肯定)
- False 表示假 (否、否定)
定义变量存储布尔类型数据:
布尔类型不仅可以自行定义,同时也可以通过计算的来。
也就是使用比较运算符进行比较运算得到布尔类型的结果。
2.比较运算符
布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
如下代码:
result = 10 > 5
print(f'10 > 5 的结果是:{result},类型是:{type(result)}')
result = "itcast" == "itheima"
print(f'字符串itcast是否和itheima相等,结果是;{result},类型是:{type(result)}')
二、if语句的基本格式
1.if 判断语句语法
if 条件:
条件成立执行语句1
条件成立执行语句2
....
# 定义变量
age = 30
print(f'我今年已经{age}岁了')
# 进行判断
if age >= 18: # 年龄大于等于18执行后续代码
print('我已经成年')
print('即将步入大学生活')
# 无论年龄多大,都要执行下面代码
print('时间过得真快')
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句,False则不会执行
注意:归属于if判断的代码语句块,需在前方填充4个空格缩进
Python通过缩进判断代码块的归属关系。
2.案例
print('欢迎来到黑马儿童乐园,儿童免费,成人收费')
age = int(input('请输入你的年龄:'))
if age >= 18:
print('您已成年,游玩需补票10元。')
print('祝您游玩愉快。')
三、 if else 语句
1.语法
if 条件:
条件成立执行语句
eles:
条件不成立执行语句
示例:
注意事项:
- else后,不需要判断条件
- 和if的代码块一样,else的代码块同样需要4个空格作为缩进
2.案例
print('欢迎来到黑马动物园')
height= int(input('请输入你的身高(cm):'))
if height >= 120:
print('您的身高超出120cm,游玩需补票10元。')
else:
print('您的身高未超出120cm,可以免费游玩。')
print('祝您游玩愉快。')
四 if elif else语句
某些场景下,判断条件不止一个,可能有多个可以用if elif else 语句
实现
1.语法
if 条件1:
条件1成立执行语句
...
elif 条件2:
条件2成立执行语句
...
elif 条件N:
条件N成立执行语句
...
else:
条件不成立执行语句
示例:
print('欢迎来到黑马动物园')
height= int(input('请输入你的身高(cm):'))
vip_level = int(input('请输入你的vip级别(1-5):'))
if height < 120:
print('您的身高未超出120cm,可以免费游玩。')
elif vip_level >3 :
print('您的vip级别大于3,可以免费游玩。')
else:
print('游玩需补票10元。')
print('祝您游玩愉快。')
注意:elif 语句可以写多个。
判断是互斥且有顺序的。
- 满足1(如图编号)将不会理会2和3
- 满足2,将不会理会3
- 1、2、3均不满足,进入else
else也可以省略不写,效果等同3个独立的if判断,空格缩进同样不可省略
五、判断语句的嵌套
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对这种需求,嵌套判断语句可以实现
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求
1.语法
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
如图:
- 判断有2层
- 当外层if满足条件(图中编号1)时,才会执行内层if判断(图中编号2)
- 当外层if(编号1)不满足,直接执行外层esle
六、实战案例
案例需求:
定义一个数字(1~10,随机产生),通过3次判断来猜出来数字
案例要求:
- 数字随机产生,范围1-10
- 有3次机会猜测数字,通过3层嵌套判断实现
- 每次猜不中,会提示大了或小了
提示,通过如下代码,可以定义一个变量num,变量内存储随机数字。
import random
num = random.randint(1,10)
实现代码:
"""
演示判断语句的实战案例:终极猜数字
"""
# 1. 构建一个随机的数字变量
import random
num = random.randint(1, 10)
guess_num = int(input("输入你要猜测的数字:"))
# 2. 通过if判断语句进行数字的猜测
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("三次机会用完了,没有猜中。")