判断语句
进行逻辑判断是生活中常见的行为,同样,在程序中,进行逻辑判断也是最为基础的功能
布尔类型和比较运算符
布尔类型的定义
布尔类型的字面量:
- True 表示真(是、肯定)
- False 表示假(否、否定)
定义变量存储布尔类型数据:
变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义,也可以使用比较运算符得到布尔类型的结果
比较运算符
| 运算符 | 描述 |
|---|---|
| == | 判断内容是否相等,满足为True,否则为False |
| != | 判断内容是否不相等,满足为True,否则为False |
| > | 判断内容左侧内容是否大于右侧,满足为True,否则为False |
| < | 判断内容左侧内容是否小于右侧,满足为True,否则为False |
| >= | 判断内容左侧内容是否大于等于右侧,满足为True,否则为False |
| <= | 判断内容左侧内容是否小于等于右侧,满足为True,否则为False |
实例
1 | bool_1 = True |
if语句的基本格式
语法
if 要判断的条件:
条件成立是,要执行的语句
注意:条件结果一定是布尔类型,条件后面要加冒号,归属于if语句的代码块前方要有四个空格!!!
实例
1 | age = 30 |
if-else语句
语法
if 条件:
满足条件时执行语句1
满足条件时执行语句2
else:
不满足条件时执行语句1
不满足条件时执行语句2
实例
1 | age = input("欢迎来到黑马儿童游乐园,儿童免费,成人收费。\n请输入你的年龄:") |
if-elif-else
语法
if 条件1:
满足条件1时执行语句1
满足条件1时执行语句2
elif 条件2:
满足条件2时执行语句1
满足条件2时执行语句2
elif 条件N:
满足条件N时执行语句1
满足条件N时执行语句2
else:
不满足所有条件时执行语句1
不满足所有条件时执行语句2
注意:判断是互斥且有顺序的,else可以省略不写,效果等同3个独立的if判断,可以在判断语句中直接写input语句,节省代码量
实例
1 | if int(input("请输入第一次猜想的数字:")) == 10: |
判断语句的嵌套
有很多场景,不仅仅是多个并置条件,还会有满足前置条件才会二次判断的多层判断需求,对于这种需求,可以通过判断语句的嵌套
注意:
- 判断语句可以用于多条件,多层次的逻辑判断
- 嵌套判断语句可以根据需求,自由组合if-elif-else来构建多层次判断
- 嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系
循环语句
循环在程序中同判断一样,也是广泛存在的,是非常多功能实现的基础
while循环
语法
while 条件:
条件满足时,执行语句1
条件满足时,执行语句2
……
注意:
- while的条件时布尔类型,True表示继续循环,False结束循环
- 空格缩进同if
实例
九九乘法表
1 | i = 1 |
for循环
语法
for 临时变量 in 待处理数据集:
循环满足条件时执行语句
注意:
- 同while循环不同,python中for循环是无法定义循环条件的,只能从处理的数据集中依次取出内容进行处理,所有理论上for循环无法构建无限循环(被处理的数据集不可能无限大)
- 语法中,待处理数据集严格来说称之为:序列类型,其内容可以一个个依次取出的一种类型,包括字符串,列表,元组等
- 注意空格缩进
实例
遍历字符串
1 | name = "hello" |
可以看出,for循环是将字符串的内容依次取出,所有for循环也被称为“遍历循环”
循环中断:break和continue
- continue:中断本次循环,直接进入下一次循环
- break:直接结束所在循环
while循环和for循环的一些区别
- while循环的循环条件时自定义的,自行控制循环条件
- for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
拓展
随机数
1 | import random |
end = ‘’
1 | print("hello") |
制表符\t
1 | print("hello world") |
range语句
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如,range(5)取得的数据是:[0,1,2,3,4]
语法2:
range(num1,num2)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5,10)取得的数据是:[5,6,7,8,9]
语法3:
range(num1,num2,step)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5,10,2)取得的数据是:[5,7,9]
1 | num = 100 |