布尔类型的字面量:
True 表示真(是、肯定)
False 表示假 (否、否定)
也就是布尔类型进行判断,只会有2个结果:是或否
定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义也可以通过计算得来,也就是使用比较运算符进行比较运算得到布尔类型的结果。
类型 |
描述 |
说明 |
数字(Number) |
支持
• 整数(int)
• 浮点数(float)
• 复数(complex)
• 布尔(bool )
|
整数(int),如:10、-10 |
浮点数(float),如:13.14、-13.14 |
||
复数(complex),如:4+3j,以j结尾表示复数 |
||
布尔(bool)表达现实生活中的逻辑,即真和假
• True表示真
• False表示假 。
True本质上是一个数字记作1,False记作0 |
||
字符串(String) |
描述文本的一种数据类型 |
字符串(string)由任意数量的字符组成 |
列表(List) |
有序的可变序列 |
Python中使用最频繁的数据类型,可有序记录一堆数据 |
元组(Tuple) |
有序的不可变序列 |
可有序记录一堆不可变的Python数据集合 |
集合(Set) |
无序不重复集合 |
可无序记录一堆不重复的Python数据集合 |
字典(Dictionary) |
无序Key-Value集合 |
可无序记录一堆Key-Value型的Python数据集合 |
首先要知道布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到,先看如下代码:
result = 11 > 10
print(f"11>10的结果为:{result},其类型为{type(result)}")
我们看到返回的是True(真),通过type()可以查看到类型为bool(布尔类型)
当然也可以进行字符串的比较:
result = "cast" == "dog"
print(f"字符串对比cast与dog的结果为:{result},其类型为{type(result)}")
输出结果:
运算符 |
描述 |
示例 |
== |
判断内容是否相等,满足为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 |
< |
判断运算符左侧内容是否小于右侧 满足为True,不满足为False |
如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 |
生活中的判断:
程序中的判断:
例如:
# 定义变量
age = 30
# 进行判断
if age >= 18:
print("已成年")
输出:
if语句的注意点:
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句
False则不会执行
顺便不要忘记判断条件后的: 引号
且归属于if判断的代码语句块,需在前方填充4个空格缩进(或快捷键Tab)
Python通过缩进判断代码块的归属关系。
生活中的判断:
程序中的判断:
也就是if和其代码块,条件满足时执行,else搭配if的判断条件,当不满足的时候执行
我们做一个简单的栗子:
score = int(input("输入你的成绩:"))
if score >= 60:
if score >= 85:
print("你真优秀")
else:
print("仍需努力")
else:
print("......")
结果如下:
需要注意的是:
1. else后,不需要判断条件
2. 和if的代码块一样,else的代码块同样需要4个空格作为缩进
生活中的判断:
程序中的判断:
举个例子:
# 多条件判断语句的使用
print("欢迎来到兰州海洋公园!")
height = int(input("输入您的身高cm:"))
vip_level = int(input("您的VIP等级(1~9):"))
if height < 150:
print("您的身高低于150cm,可以免费游玩!")
elif vip_level >= 5:
print("尊贵的:VIP-%d用户,您可以免费游玩!" % vip_level)
else:
print("对不起,所有条件都不满足,需要购票符合¥190")
print("祝您游玩愉快!")
运行结果:
我来对这段代码做个解释:
首先要知道判断是互斥且有顺序的:
满足1(如图编号)将不会理会2和3
满足2,将不会理会3
若是1、2、均不满足,便会进入else,也就是3的语句.
大家可复制上面代码自行尝试。
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对这种需求,嵌套判断语句可以实现
嵌套判断语句可以用于多条件、多层次的逻辑判断
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if。
嵌套的关键点在于:空格缩进
通过空格缩进 来决定语句之间的层次关系
简单嵌套:
# 判断语句的嵌套
print("欢迎来到兰州海洋公园!")
if int(input("输入你的年龄:")) >= 18:
print("抱歉,成年人不能免费游玩")
print("如果你的VIP等级高于5,依然可以为你免费!")
if int(input("请输入你的VIP等级:")) > 5:
print("恭喜你,VIP等级大于5,可以免费游玩!")
else:
print('对不起,等级不够,游玩需补票10元')
else:
print("欢迎你小朋友,可以免费游玩")
测试:
我继续对这段代码做个解释:
如图:
这里用到的判断是两层
当外层if满足条件(图中编号1)时,才会执行内层if判断(图中编号2)