目录
python判断语句的学习---前言
进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
判断是程序最基础最核心的逻辑功能
一、布尔类型和比较运算符
1)程序中,如何描述:是或否呢?
使用:布尔类型
2)什么是布尔类型?
布尔(bool)表达现实生活中的逻辑,即真和假,
True表示真
false表示假
True本质上是一个数字记作1,False记作0
3)如何进行布尔类型的定义?
布尔类型的字面量:
True 表示真(是、肯定)
False 表示假 (否、否定)
定义变量存储布尔类型数据: 变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义同时也可以通过计算的来。
也就是使用比较运算符进行比较运算得到布尔类型的结果
4)有哪些比较运算符?
运算符 | 描述 | 示例 |
== | 判断内容是否相等,满足为True,不满足为False | 如a=3,b=3,则(a == b) 为 True |
!= | 判断内容是否不相等,满足为True,不满足为False | 如a=1,b=3,则(a != b) 为 True |
< | 判断运算符左侧内容是否大于右侧满足为True,不满足为False | 如a=7,b=3,则(a >b)为 True |
> | 判断运算符左侧内容是否小于右 | 如a=3,b=7,则(a<b) 为 True |
>= | 判断运算符左侧内容是否大于等于右侧满足为True,不满足为False | 如a=3,b=3,则(a >= b)为 True |
<= | 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False | 如a=3,b=3,则(a <= b)为 True |
5)如何利用比较运算符进行比较运算得到布尔类型的结果
# 定义变量存储布尔类型的数据
bool_1 = True
bool_2 = 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}")
二、if语句的基本格式
1).什么是if判断语句?
程序中的判断:
if 要判断的条件:
条件成立时,要做的事情
# 定义变量
age = 30
# 进行判断
if age >= 18:
print("我已经成年了")
注意:if 判断语句后面一定要加上冒号!!
还有就是条件成立 要做的事情这条语句需要有四个空格的缩进
Python通过缩进判断代码块的归属关系
2)如何实现if语句?
现在用if语句来写一个小小的判断
# 当age = 18 时:
age = 18
print(f"我今年已经{age}岁了")
if age >= 18:
print("我已经成年了!")
print("时间过得可真快呀")
# 当age = 10 时:
age = 10
print(f"我今年已经{age}岁了")
if age >= 18:
print("我已经成年了!")
print("时间过得可真快呀")
# 当age = 30 时:
age = 30
print(f"我今年已经{age}岁了")
if age >= 18:
print("我已经成年了!")
print("时间过得可真快呀")
输出的结果分别是:
我今年已经18岁了
我已经成年了!
时间过得可真快呀
我今年已经10岁了
时间过得可真快呀
我今年已经30岁了
我已经成年了!
时间过得可真快呀
总结:判断条件的结果一定要是布尔类型
不要忘记判断条件后的: 冒号
归属于if语句的代码块,需在前方填充4个空格缩进
3)小练习
print("欢迎来到儿童游乐园,儿童免费,成人收费。")
age = int(input("请输入你的年龄"))
if age >= 18:
print("您已成年,游玩需要补票10元。")
print("祝您游玩愉快!")
# 这里需要注意,input接收到任何数据类型都会变成字符串
# 因此,这里需要注意数据类型的转换
三、if else 语句
1)什么是else语句?
思考:if满足条件会执行相应的代码语句,如果不满足呢?
有没有不满足的情况下,可供执行的代码呢?
程序中的判断:
print("欢迎来到儿童游乐园,儿童免费,成人收费。")
age = int(input("请输入你的年龄"))
if age >= 18:
print("您已成年,游玩需要补票10元。")
else:
print("小朋友你还没有成年哦,可以免费游玩")
print("祝您游玩愉快!")
else 不需要写判断条件,因为else就是条件不满足时则执行
2)小练习
print("欢迎来到动物园!")
height = int(input("请输入您的身高(cm):"))
if height >= 120:
print("您的身高超出120cm,游玩需要购票10元")
else:
print("您的身高未超出120cm,可以免费游玩")
print("祝您游玩愉快!")
四、if elif else 语句
思考:某些场景下,判断条件不止一个,可能有多个,这种需求能用Python实现吗?
1)什么是 if elif else语句?
2)如何实现if elif else语句?
print("欢迎来到动物园")
height = int(input("请输入您的身高(cm):"))
vip_level = int(input("请输入您的vip级别(1~5)"))
if height < 120:
print("您的身高小于120cm,可以免费游玩")
elif vip_level:
print("您的vip级别大于3,可以免费游玩")
else:
print("不好意思,所有免费的条件都不满足,需要购票10元")
print("祝您游玩愉快!")
多条件下,条件之间是互斥的
注意:elif语句可以写多个
# 演示elif else多条件判断句的使用
print("欢迎来到动物园")
height = int(input("请输入您的身高(cm):"))
vip_level = int(input("请输入您的vip级别(1~5)"))
date = int(input("请输入今天的日期(1~31)"))
if height < 120:
print("您的身高小于120cm,可以免费游玩")
elif vip_level > 3:
print("您的vip级别大于3,可以免费游玩")
elif date == 1:
print("今天是1号免费游玩日,可以免费游玩")
else:
print("不好意思,所有免费的条件都不满足,需要购票10元")
print("祝您游玩愉快!")
条件1:
if height < 120:
print("您的身高小于120cm,可以免费游玩")
条件2:
elif vip_level > 3:
print("您的vip级别大于3,可以免费游玩")
条件3:
elif date == 1:
print("今天是1号免费游玩日,可以免费游玩")
总结:判断是互斥且有顺序的。
满足1将不会理会2和3
满足2,将不会理会3
1、2、3均不满足,进入else
else也可以省略不写,效果等同3个独立的if判断
简洁版本:
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("不好意思,所有免费的条件都不满足,需要购票10元")
print("祝您游玩愉快!")
3)小练习
print("这是一个叫猜猜心里的数字小游戏")
num = 10
if int(input("请输入第一次猜想的数字:")) == num:
print("猜对啦!")
elif int(input("不对,再猜一次:")) == num:
print("猜对啦!")
elif int(input("不对,最后猜一次:")) == num:
print("猜对啦!")
else:
print(f"Sorry,全部猜错啦,我想的是:{num}")
五、判断语句 的嵌套
1)什么是嵌套?
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对于这种需求,嵌套判断语句可以实现
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以: 自由组合 if elif else,完成特定需求的要求
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
2)怎么实现嵌套?
print("欢迎来到动物园")
if int(input("请输入您的身高(cm):")) > 120:
print("你的身高超过了120cm,不可以免费游玩啦")
print("如果vip等级超过3级也可以免费游玩哦")
if int(input("请告诉我你的vip等级(1~5)")) > 3:
print("恭喜你,您的vip等级高于3,可以免费游玩!")
else:
print("Sorry,您需要补票10元")
else:
print("欢迎你小朋友,可以免费游玩!")
第一个if 的part是身高超过120的执行内容
第一个else的part是身高不超过120的执行内容
第二个if是身高已经超过了120 前提下 需要验证第二个if 的内容
3)判断语句的嵌套
题目:
print("现在是公司福利发放时间,但先需要进行条件判断")
age = int(input("请输入您的年龄"))
year = int(input("请输入您的入职年份"))
level = int(input("请输入您的级别"))
if age >= 18:
print("初步判断成功,继续判定")
if age < 30:
print("年龄符合,需判断入职年龄")
if year > 2:
print("满足条件,可以领取")
else:
print("入职年份不符,需判断级别")
elif level > 3:
print("级别大于3 可领取")
else:
print("年龄不符或级别不够,不可领取")
else:
print("年龄不满18,未成年不可领取")
总结:
1.嵌套判断语句可以用于多条件多层次的逻辑判断
2.嵌套判断语句可以根据需求,自由组合if elif else来
构建多层次判断
3,嵌套判断语句,一定要注意空格缩进,Python通过
空格缩进来决定层次关系
六、实战案例
提示:通过如下代码,可以定义一个变量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("Sorry,三次机会都猜错了")
print(f"随机数为:{num}")
# 写完之后就可以去试试自己的运气如何啦
但是代码现在看起来就很冗余,因为有很多地方是重复的,这就需要第四章的循环语句学习之后来优化啦,ok以上就是判断语句的学习内容啦
一起愉快的学习python吧lol