布尔类型和比较运算符
布尔类型
进行判断,只有2个结果:
- 是
- 否
程序中,如何描述:是或否?使用:布尔类型。
Python中常用的6种值(数据)的类型
类型 | 描述 | 说明 |
数字(Number) | 支持
| 整数(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数据集合 |
布尔类型的定义
布尔类型的字面量:
- True 表示真(是、肯定)
- False 表示假(否、否定)
定义变量存储布尔类型数据:
变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义,同时也可以通过计算得来,也就是使用比较运算符进行比较运算得到布尔类型的结果。
result = 10 > 5
print(f"10 > 5 的结果是:{result}, 类型是:{type(result)}")
result = 10 < 5
print(f"10 < 5 的结果是:{result}, 类型是:{type(result)}")
result = "sunpeng" == "zhanghongxin"
print(f"字符串sunpeng和zhanghongxin是否相等,结果是:{result}, 类型是:{type(result)}")
输出结果:
10 > 5 的结果是:True, 类型是:
10 < 5 的结果是:False, 类型是:
字符串sunpeng和zhanghongxin是否相等,结果是:False, 类型是:
比较运算符
运算符 | 描述 | 示例 |
== | 判断内容是否相等,满足为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 |
"""
演示布尔类型的定义布尔类型
- True
- False
比较运算符练习
- ==
- !=
- >
- <
- >=
- <=
"""
# 定义变量存储布尔类型的数据
bool_1 = True
bool_2 = False
print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_1变量的内容是:{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 = "itheihei"
print("itcast == itheihei 的结果是:", name1 == name2)
print("%s == %s 的结果是:" % (name1, name2), name1 == name2)
print(f"itcast == itheihei 的结果是:{name1 == name2}")
# 演示大于小于,大于等于小于等于的比较运算
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("%d >= %d 的结果是:" % (num1, num2), num1 >= num2)
print("10 >= 11 的结果是:", num1 >= num2)
print(f"10 <= 11 的结果是:{num1 <= num2}")
print("10 <= 11 的结果是:", num1 <= num2)
print("%d <= %d 的结果是:" % (num1, num2), num1 <= num2)
输出结果:
bool_1变量的内容是:True,类型是:
bool_1变量的内容是:False,类型是:
10 == 10 的结果是:True
10 != 15 的结果是:True
itcast == itheihei 的结果是: False
itcast == itheihei 的结果是: False
itcast == itheihei 的结果是:False
10 > 5 的结果是:True
10 < 5 的结果是:False
10 >= 11 的结果是:False
10 >= 11 的结果是: False
10 >= 11 的结果是: False
10 <= 11 的结果是:True
10 <= 11 的结果是: True
10 <= 11 的结果是: True
总结
在Python中,可以表示真假的数据类型是
布尔类型,字面量True表示真,字面量False表示假
除了可以定义布尔类型外,还可以通过什么计算得到布尔类型
通过<比较运算符>计算得到布尔类型的结果
- == 判断是否相等,!= 判断是否不想等
- > 判断是否大于,< 判断是否小于
- >= 判断是否大于等于,<= 判断是否小于等于
if语句的基本格式
程序中的判断
if 要判断的条件:
条件成立时,要做的事情
"""演示Python判断语句,if语句基本格式"""
# 定义一个年龄
age = 30
# 进行判断
if age >= 18:
print("我已经成年了")
print("我即将不如大学生活了")
print("时间过的真快啊!")
输出结果:
我已经成年了
我即将不如大学生活了
时间过的真快啊!
# 定义一个年龄
age = 10
# 进行判断
if age >= 18:
print("我已经成年了!!!")
print("我即将不如大学生活了!!!")
print("时间过的真快啊!!!")
输出结果:
时间过的真快啊!
if语句的注意点
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句
False则不会执行
if语句判断代码最后一定要加冒号(:),归属于if判断的代码语句块,需在前方填充4个空格缩进,Python通过缩进判断代码块的归属关系。
练习题
结合前面学习的input输入语句,完成如下案例:
1、通过input语句,获取键盘输入,为变量age赋值。(注意转换数字类型)
2、通过if判断是否是成年人,满足条件则输出提示信息,如下:
欢迎来到儿童游乐场,儿童免费,成人收费。
请输入你的年龄:30
您已成年,游玩需要补票10元。
祝您游玩愉快。
提示:您已成年,需要补票的信息输出,来自if判断
"""游乐场补票练习题"""
print("欢迎来到儿童游乐场,儿童免费,成人收费。")
age = int(input("请输入你的年龄:"))
if age >= 16:
print("您已成年,游玩需要补票10元。")
print("祝您游玩愉快!")
输出结果:
欢迎来到儿童游乐场,儿童免费,成人收费。
请输入你的年龄:30
您已成年,游玩需要补票10元。
祝您游玩愉快!
if else语句
if else语句格式
if 条件:
满足条件是要做的事情1
满足条件是要做的事情2
满足条件是要做的事情3
满足条件是要做的事情4
…(省略)…
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
不满足条件时要做的事情4
…(省略)…
"""游乐场补票练习题"""
print("欢迎来到儿童游乐场,儿童免费,承认收费。")
age = int(input("请输入你的年龄:"))
if age >= 18:
print("您已成年,游玩需要补票10元。")
else:
print("您未成年,可以免费游玩。")
print("祝您游玩愉快!")
if else语句注意点
1、else后,不需要判断条件
2、和if的代码块一样,else的代码块同样需要4个空格作为缩进
总结
if else语句,其中
- if和其代码块,条件满足时执行
- else搭配if的判断条件,当不满足的时候执行
if else语句的注意香
- else不需要判断条件,当if的条件不满足时,else执行
- else的代码块,同样要4个空格作为缩进
练习题
通过input语句获取键盘输入的身高。
判断身高是否超过120cm,并通过print给出提示信息。
欢迎来到动物园。
请输入您的身高(cm):130
您的身高已超过120cm,游玩需要购票10元。
祝您游玩愉快。
欢迎来到动物园。
请输入您的身高(cm):120
您的身高未超过120cm,可以免费游玩。
祝您游玩愉快。
"""
动物园收费标准案例
"""
# 动物园欢迎语
print("欢迎来到动物园。")
# 获取身高
height = int(input("请输入您的身高(cm):"))
# 判断身高是否超过免费标准
if height > 120:
print("您的身高已超过120cm,游玩需要购票10元。")
else:
print("您的身高未超过120cm,可以免费游玩。")
print("祝您游玩愉快。")
if elif else语句
if elif else语句格式
if 条件1:
条件1满足应做的事情
条件1满足应做的事情
……
elif 条件2:
条件2满足应做的事情
条件2满足应做的事情
……
elif 条件N:
条件N满足应做的事情
条件N满足应做的事情
……
else:
所有条件都不满足应做的事情
所有条件都不满足应做的事情
……
示例1:
"""
if elif 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("祝您游玩愉快。")
示例2:
"""
if elif else语句演示
"""
print("欢迎来到菜鸟动物园!")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip等级(1-5):"))
day = int(input("请输入今天的日期(1-30)"))
if height <= 120:
print("你的身高小于120cm,可以免费游玩。")
elif vip_level >= 3:
print("您的vip级别大于3,可以免费游玩。")
elif day == 1:
print("今天是1号免费日,可以免费游玩。")
else:
print("不好意思,所有条件都不满足,请补票10元。")
print("祝您游玩愉快。")
if elif else语句的注意点
if elif else语句中if和elif的判断条件是互斥的,判断顺序从上到下,满足第一个条件,后面的条件都作废,以此类推;
- 满足第一个条件,将不会理会第二和第三及后面的条件。
- 满足第二个条件,在第一个条件不满足时,满足第二个条件,将不会理会第三个及后面的条件。
- 所有条件都不满足,进入else
- else也可以省略不写,效果等同N个独立的if判断。
可以将input语句直接写入到判断条件中,节省代码量。
示例:
"""
if elif else语句演示
"""
print("欢迎来到菜鸟动物园!")
if int(input("请输入你的身高(cm):")) <= 120:
print("你的身高小于120cm,可以免费游玩。")
elif int(input("请输入你的vip等级(1-5):")) >= 3:
print("您的vip级别大于3,可以免费游玩。")
elif int(input("请输入今天的日期(1-30)")) == 1:
print("今天是1号免费日,可以免费游玩。")
else:
print("不好意思,所有条件都不满足,请补票10元。")
print("祝您游玩愉快。")
总结
if elif else语句的作用
可以完成多个条件的判断
使用if elif else的注意点
- elif 可以写多个
- 判断时互斥且有序的,上一个满足后面的就不会判断了
- 可以在条件判断中,直接写input语句,节省代码量
练习题
1、定义一个变量,数字类型,内容随意。
2、基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否和心里数字一致。
"""
猜数字练习演示
"""
# 直接定义判断猜想数字
if int(input("请输入猜想的数字:")) == 10:
print("恭喜你猜对啦。")
elif int(input("猜想的不对,请再次输入猜想的数字:")) == 10:
print("恭喜你猜对啦。")
elif int(input("猜想的不对,请输入第三次猜想的数字:")) == 10:
print("恭喜你猜对啦。")
else:
print("很遗憾你没有猜对。")
判断语句的嵌套
许多逻辑的判断时嵌套的,多层次的,可以自由组合 if elif else,来完成特定需求的要求。
基础语法格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
如上,第二个 if 属于第一个 if 内,只有第一个 if 满足条件,才会执行第二个 if 。
嵌套关键点,在于空格缩进;通过空格缩进,来决定语句之间的层次关系。
练习题-游乐园门票免费条件判断
"""
游乐园信息登记,符合条件即可免费游玩
"""
print("欢迎来到菜鸟动物园,请进行信息登记,符合条件可免费游玩!")
if int(input("请输入你的身高(cm):")) > 120:
print("不好意思,您的身高不达标。")
if int(input("但是,vip等级达标也可以免费游玩,请输入您的vip等级(1-5):")) < 3:
print("不好意思,您的vip等级不达标。")
if int(input("但是,年龄达标也可以免费游玩,请输入您的年龄:")) < 18:
print("您的年龄已达标,可以免费游玩。")
elif int(input("不好意思,您的年龄不达标。\n但是,猜对数字也可免费游玩,请输入您猜想的数字:")) == 10:
print("恭喜您猜对啦,可以免费游玩。")
else:
print("不好意思,您的条件均不满足,请补票10元!")
else:
print("您的vip等级已达标,可以免费游玩!!")
else:
print("您的身高已达标,可以免费游玩!!!")
print("祝您游玩愉快。")
如上,判断有3层,当外层 if 满足条件时,才会执行内层 if 判断,当外层 if 不满足条件时,直接执行外层 else ;而 if elif 则是 if 不满足条件时,才会执行 elif 。
增加猜数字判断次数字段:
"""
游乐园信息登记,符合条件即可免费游玩
"""
print("欢迎来到菜鸟动物园,请进行信息登记,符合条件可免费游玩!")
if int(input("请输入你的身高(cm):")) > 120:
print("不好意思,您的身高不达标。")
if int(input("vip等级达标也可以免费游玩,请输入您的vip等级(1-5):")) < 3:
print("不好意思,您的vip等级不达标。")
if int(input("年龄达标也可以免费游玩,请输入您的年龄:")) >= 18:
print("不好意思,您的年龄不达标。")
print("但是,猜对数字也可以免费游玩,数字范围1-30,有三次机会,加油!!!")
num = 10
guss_num = int(input("请输入您第一次猜想的数字:"))
if guss_num == num:
print("恭喜您猜对啦,可以免费游玩。")
else:
if guss_num > num:
print(f"很遗憾您猜大了,还有机会,加油!")
else:
print(f"很遗憾您猜小了,还有机会,加油!")
guss_num = int(input("请输入您第二次猜想的数字:"))
if guss_num == num:
print("恭喜您猜对啦,可以免费游玩。")
else:
if guss_num > num:
print(f"很遗憾您猜大了,还有机会,加油!")
else:
print(f"很遗憾您猜小了,还有机会,加油!")
guss_num = int(input("请输入您第三次猜想的数字:"))
if guss_num == num:
print("恭喜您猜对啦,可以免费游玩。")
else:
if guss_num > num:
print(f"很遗憾您猜大了,次数用完了。")
print("不好意思,您的条件均不满足,请补票10元!")
else:
print(f"很遗憾您猜小了,次数用完了。")
print("不好意思,您的条件均不满足,请补票10元!")
else:
print("您的年龄已达标,可以免费游玩。")
else:
print("您的vip等级已达标,可以免费游玩!!")
else:
print("您的身高已达标,可以免费游玩!!!")
print("祝您游玩愉快。")
总结
1、嵌套判断语句可以用于多条件、多层次的逻辑判断。
2、嵌套判断语句可以根据需求,自由组合 if elif else 来构建多层次判断。
3、嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系。
实战案例
1、定义一个数字(1-10,随机产生),通过3次判断来猜出来数字。
要求:
- 数字随机产生,范围:1-10
- 有3次机会猜测数字,通过3层套嵌判断实现
- 每次猜不中,提示大了或者小了
随机产生数字的办法:
import random
num = random.randint(1, 10)
"""
随机产生1-10数字
3次猜数字机会
"""
# 随机产生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:
if guess_num > num:
print("你猜测的数字大了。")
else:
print("你猜测的数字小了。")
标签:语句,10,游玩,Python,笔记,else,num,print,input From: https://blog.51cto.com/zhanghongxin/7421181