进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
为什么学习判断语句
判断在程序中广泛应用,如果没有它,这些功能都难以实现。
进行判断,只有2个结果:
Python中常用的有6种值(数据)的类型
类型 | 描述 | 说明 |
---|---|---|
数字(Number) | 支持 1》整数(int) 2》浮点数(float) 3》复数(complex) 4》布尔(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数据集合 |
布尔类型的字面量:
定义变量存储布尔类型数据:
变量名称 = 布尔类型字面量
布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
运算符 | 描述 | 示例 |
---|---|---|
== | 判断内容是否相等,满足为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 |
代码示例:
"""
演示布尔类型的定义
以及比较运算符的应用
"""
# 定义变量存储布尔类型的数据
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 = "mry"
name2 = "mry"
print(f"mry == mry 结果是:{name1 == name2}")
# 演示大于小于,小于等于小于等于的比较运算
num1 = 10
num2 = 5
print(f"10 > 5 结果是:{num1 > num2}")
print(f"10 < 5 结果是:{num1 < num2}")
num1 = 10
num2 = 10
print(f"10 >= 10 结果是:{num1 >= num2}")
print(f"10 <= 10 结果是:{num1 <= num2}")
"""
演示Python判断语句:if语句的基本格式应用
"""
age = 30
if age >= 18:
print("我已经成年了")
print("即将步入大学生活")
print("时间过的真快呀")
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句
False则不会执行
练习案例:成年人判断
结合前面学习的input输入语句,完成如下案例:
1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)
2.通过if判断是否是成年人,满足条件则输出提示信息,如下:
"""
演示练习题:成年人判断
"""
# 获取键盘输入
age = int(input("请输入你的年龄:"))
# 通过if判断是否是成年人
if age >= 18:
print("您已成年,游玩需要买票,10元。")
print("祝你游玩快乐")
"""
演示Python中if else的组合判断语句
"""
age = int(input("请输入你的年龄:"))
if age >= 18:
print("您已成年,需要买票10元。")
else:
print("您未成年,可以免费游玩。")
注意点:
1.else后,不需要判断条件
2.和if的代码块一样,else的代码块同样需要4个空格作为缩进
练习案例:我要买票吗
通过input语句获取键盘输入的身高
判断身高是否超过120cm,并通过print给出提示信息。
"""
演示if else练习题:我要买票吗
"""
# 定义键盘输入获取身高数据
height = int(input("请输入你的身高(cm):"))
# 通过if进行判断
if height > 120:
print("您的身高超出120CM,需要买票,10元。")
else:
print("您的身高低于120CM,可以免费游玩。")
print("祝你游玩愉快")
代码示例:
"""
演示if elif else 多条件判断语句的使用
"""
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的VIP等级(1-5):"))
# 通过if判断,可以使用多条件判断的语法
# 第一个条件就是if
if height < 120:
print("身高小于120cm,可以免费。")
elif vip_level > 3:
print("vip级别大于3,可以免费。")
else:
print("不好意思,条件都不满足,需要买票10元")
空格缩进同样不可省略
练习案例:猜猜心理数字
1.定义一个变量,数字类型,内容随意。
2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否心里数字一致。
"""
演示if elif else练习题:猜猜心里数字
"""
# 定义一个变量数字
num = 5
# 通过键盘输入获取猜想的数字,通过多少if 和 elif的组合进行猜想比较
if int(input("请猜一个数字:")) == num:
print("恭喜第一次就猜对了呢")
elif int(input("猜错了,再猜一次:")) == num:
print("猜对了")
elif int(input("猜错了,再猜一次:")) == num:
print("恭喜,最后一次机会,你猜对了")
else:
print("Sorry 猜错了")
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求
基础语法格式如下:
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
代码示例:
"""
演示判断语句的嵌套使用
"""
if int(input("你的身高是多少:")) > 120:
print("身高超出限制,不可以免费")
print("但是,如果vip级别大于3,可以免费")
if int(input("你的vip级别是多少:")) > 3:
print("恭喜你,vip级别达标,可以免费")
else:
print("Sorry 你需要买票10元")
else:
print("欢迎小朋友,免费游玩。")
注意:
1.嵌套判断语句可以用于多条件、多层次的逻辑判断
2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
3.嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系
案例需求:
定义一个数字 (1~10,随机产生),通过3次判断来猜出来数字
案例要求:
1.数字随机产生,范围1-10
2.有3次机会猜测数字,通过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("三次机会用完了,没有猜中。")