版本说明
当前版本号[20230601]。
版本 | 修改说明 |
---|---|
20230601 | 初版 |
知识总览图
目录
文章目录
- 版本说明
- 知识总览图
- 目录
- Python判断语句
- 布尔类型和比较运算符
- 布尔类型
- 布尔类型的定义
- 比较运算符
- if语句的基本格式
- if判断语句
- if语句的注意点
- if else 语句
- 语句注意点
- if elif else语句
- 注意点
- 判断语句的嵌套
- 实战案例
Python判断语句
判断是程序最基础最核心的逻辑功能。
布尔类型和比较运算符
布尔类型
进行判断,只有2个结果:
- 是
- 否
Python中常用的有6种值(数据)的类型
布尔类型的定义
布尔类型的字面量:
-
True 表示真(是、肯定)
-
False 表示假 (否、否定)
定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
比较运算符
布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
正如如上代码,只有使用比较运算符才可以返回布尔类型,正常的加减乘除是返回最后的值。
if语句的基本格式
if判断语句
生活中的判断
程序中的判断
如:
# 定义变量
money = 69
# 进行判断
if money < 100:
print("这么便宜,去吃炸鸡!")
当if判断条件结果:
-
为True时,代码会被执行
-
为False时,代码不会执行
当money小于100,执行结果:
当money大于100,执行结果:
if语句的注意点
- 判断语句的结果,必须是布尔类型True或False
- True会执行if内的代码语句
- False则不会执行
上图方框归属if判断的代码语句块,需在前方填充4个空格缩进。Python通过缩进判断代码块的归属关系。
if else 语句
if else 语句,其中
- if和其代码块,条件满足时执行
- if和else同级,不需要缩进
- else搭配if的判断条件,当不满足的时候执行
print("欢迎来到游戏登录界面")
age = int(input("请输入你的年龄:"))
if age >= 18:
print("你已成年,可以游玩")#条件成立时执行
else:
print("你尚未成年,不能游玩")#条件不成立时执行
语句注意点
-
else后,不需要判断条件
-
和if的代码块一样,else的代码块同样需要4个空格作为缩进
if elif else语句
三个只有一个能执行
注意点
elif语句可以写多次。
判断是互斥且有顺序的。
•满足1(如图编号)将不会理会2 和 3
满足2,将不会理会3
•1、2、3均不满足,进入else
else也可以省略不写,效果等同3个独立的if判断可以如上图,将input输入语句直接写入判断条件中。
节省代码量
使用if elif else的注意点有:
•elif可以写多个
•判断是互斥且有序的,上一个满足后面的就不会判断了
•可以在条件判断中,直接写input语句,节省代码量
判断语句的嵌套
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求
基础语法格式如下:
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
简单嵌套:
print("欢迎来到动物园")
if int(input("请输入你的身高:")) > 120:
print("你的身高高于120cm,不可以免费")
print("但如果你的vip等级大于3,则可继续免费")
if int(input("请输入你的vip等级:")) >= 3:
print("你的vip等级大于3,可以免费游玩")
else:
print("你需要支付10元来游玩!")
else:
print("欢迎来免费游玩!")
如上面的代码:
判断有2层
- 当外层 if 满足条件时,才会执行内层 if 判断
- 当外层 if 不满足,直接执行外层esle
总结:
- 嵌套判断语句可以用于多条件、多层次的逻辑判断
- 嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
- 嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系
示例:
自由组合嵌套,需求如下:
公司要发礼物,条件是:
-
必须是大于等于18岁小于30岁的成年人
-
同时入职时间需满足大于两年,或者级别大于3才可领取
print("欢迎来领取礼物处")
if 18 < int(input("请输入你的年龄:")) < 30:
print("你已满足领取的年龄条件,现在请你输入你的入职时长和级别")
if int(input("请输入你的入职时长:")) >= 2 :
print("恭喜你已经满足领取条件,请拿好你的礼物!")
elif int(input("请输入你的级别:")) >= 3 :
print("恭喜你已经满足领取条件,请拿好你的礼物!")
else:
print("不好意思你不满足领取的入职时长和级别条件。")
else:
print("不好意思你不满足领取的年龄条件。")
实战案例
案例需求:
定义一个数字(1~10,随机产生),通过3次判断来猜出来数字
案例要求:
-
数字随机产生,范围1-10
-
有3次机会猜测数字,通过3层嵌套判断实现
-
每次猜不中,会提示大了或小了
通过以下代码可以得到一个随机数
import random
num = random.randint(1, 10)
完整代码:
print("欢迎来到猜数字游戏!")
import random
num = random.randint(1, 10)
guess = int(input("请输入你想要猜的数字:"))
if guess == num:
print("恭喜你第一次就猜对了!")
else:
if guess > num:
print("猜大了!")
else:
print("猜小了!")
guess01 = int(input("请再猜一次吧:"))
if guess01 == num:
print("恭喜你第二次猜中了!")
else:
if guess01 > num:
print("猜大了!")
else:
print("猜小了!")
guess02 = int(input("你只剩最后一次机会了:"))
if guess02 == num:
print("恭喜你最后一次猜中了!")
else:
print("你已经输入三次了,都并未猜中!")