跟着《python编程快速上手-让繁琐工作自动化》教材入坑Python 第二章 控制流
第二章 控制流
进入第二章节,语句变多了,内容相对第一章有些复杂,有些内容不是很好理解。最好是在python软件中练习一下,理论联系实际,便于更好的掌握概念,理解概念,吃透概念,将所学内容为己所用。(我也是初步接触python,如果有些内容有错误,希望大家给我指正,互相学习,共同进步。希望大家点赞收藏转发加关注,码字不易,谢谢!)
(*由于在代码前加入了序号,致使代码的缩进消失了,所以复制代码到python中会出现错误,复制时请删除代码前的序号,一步一步的按程序来缩进代码,避免出现错误。以下这些代码都是我一步一步编写,经过python验证的,所以是没有错误的。*)
主要内容梳理
1. 布尔值,比较操作符,布尔操作符的使用
2. 控制流元素,语句(if,else,elif,while循环,break语句,continue语句,for循环和range函数)
3. 模块的导入
(一)布尔值(boolean),比较操作符,布尔操作符的使用1.布尔数据类型两种值:True和False(没有引号,总是以大写字母开头。)
2.比较操作符(6种)
==(等于),!=(不等于),<(小于),>(大于),>=(大于等于),<=(小于等于)。
比较操作符通过提供的值,求值为True和False。
Eg1:
>>>42==42
True
>>>2!=2
False
>>>28==”28”(整型和浮点型的值永远不会与字符串相等。)
False
注意:
(1) ==和!=操作符可以用于所有数据类型的值,<,>,>=,<=,这四种操作符只用于整型和浮点型。
(2) ==(等于)和=(赋值)两种操作符是不同的,前者是左右两边的值是否相同,而后者是将右边的放到左边的变量中。
3.布尔操作符
and,or,not。
真值表
(1)and,全真为真,有假为假。(和)
True and True 结果:True
Falseand True 结果:False
True and False 结果:False
False and False 结果:False
(2)Or,有真为真,全假为假。(或)
True or True 结果:True
False or True 结果:True
True or False 结果:True
False or False 结果:False
(3)not,真为假,假为真。
not True 结果:False
not False 结果:True
布尔操作符的顺序not>and>or.
Eg2:
① not 1+1==3 or 1==1 and 5+5==9
② not False or True and False(not,假为真)
③ True or True and False(and,有假为假)
④ True or False(or,有真为真)
⑤ True
(二)控制流元素,语句(if,else,elif,while循环,break,continue,for循环和range函数,)
1.控制流元素
(1) 条件:True或者False,来决定做什么。
(2) 代码块3规:
① 缩进增加,代码块开始
② 代码块可包含其他代码块
③ 缩进为零,代码块结束。
2. 控制流语句(if,else,elif,while循环,break,continue,for循环和range函数,)
(1) If语句(如果语句)
If 条件:
缩进代码块
(2) else(条件):(紧跟if语句,if语句条件为False时执行程序。)
缩进代码块
Eg3:
① a=4 将4赋值给变量a
② if a>4: if 后面是条件,条件后必加:
③ print("right") 如果条件正确就打印right代码块的开始
④ else: 必加冒号,且与if语句左端对齐。
⑤ print("wrong") 否则就打印wrong
⑥ print("end") 代码块结束打印end
结果:
wrong 条件错误运行else语句中代码块,打印wrong
end
(3) elif语句(否则如果语句)
elif 条件:(跟在if语句后)
缩进代码块
Eg4:
① if name=="a":
② print("hello!a")
③ elif age<10:
④ print("you are a")
⑤ elif age>150:
⑥ print("you are not a")
⑦ elif age>80:
⑧ print("you are grandpa")
注意:
If和elif语句是左对齐的语句,不要忘记加冒号。
可添加一系列的elif语句,会仅有一条语句或零条语句被执行,一旦有一个elif语句的条件为True时,其他的elif语句会自动跳过。
另外elif的语句次序很重要
Eg5:
① age=200
② n=""
③ if n=="a":
④ print("hello!a")
⑤ elif age<10:
⑥ print("you are a")
⑦ elif age>80:
⑧ print("you are not a")
⑨ elif age>150:
⑩ print("you are grandpa")
结果:you are not a
Eg6:
将9和10,7和8对换一下位置。
① age=200
② n=""
③ if n=="a":
④ print("hello!a")
⑤ elif age<10:
⑥ print("you are a")
⑦ elif age>150:
⑧ print("you are grandpa")
⑨ elif age>150:
⑩ print("you are not a")
结果:you are grandpa
结果就会不同。
保证程序至少一个子句(有且只有一个执行),if和elif的条件都为错误,就执行else语句。
Eg7:
① age=20
② if age==21:
③ print("hello!b")
④ elif age<10:
⑤ print("you are not a")
⑥ esle:
⑦ print("you are a")
⑧ 结果:you are a
(4) while循环语句(可让代码块一遍又一遍执行,当条件为True时while子句就会执行)
while 条件:
缩进代码块
Eg8:
If语句和while语句的对比
① a=0
② if a<5:
③ print("hello!a")
④ a=a+1
结果:hello!a(输出一次)
⑤ a=0
⑥ while a<5:
⑦ print("hello!a")
⑧ a=a+1
结果:hello!a
hello!a
hello!a
hello!a
hello!a(输出五次)
当while出现,代码块缩进开始至结束,为一个循环体,上述循环体为6,7,8。While后的条件为真时执行循环。错误时跳出循环。
(5) break语句
仅一个关键词break,后面无条件和冒号。
为了让执行提前跳出while循环子句,执行遇到break时就跳出循环体。
Eg9:
① while True:
② print("请输入你的名字")
③ 名字=input()
④ if 名字=="张三":
⑤ break
⑥ print("结束")

第一步是无限循环,只有当输出的名字输入正确时,也就是输出为张三时程序才会执行到break语句,跳出循环体,进入第六步。
如果编写的程序有缺陷,陷入无限循环时请按ctrl+c键来停止。
(6) continue语句
内部循环,仅包含continue,后无条件和冒号。程序运行到continue时就跳到循环开始处。
Eg10:
① while True:
② print("请输入你的名字")
③ 名字=input()
④ if 名字!="张三":
⑤ Continue
⑥ print("你好,张三!")
⑦ break
⑧ print("结束")

(7) for循环和range函数
固定次数循环
for 变量名 in range(x):
代码缩进开始至结束
Eg11:
① for i in range(5):
② print("hello a")

循环5次。
range(x,y,z)
x,y,z是range()的三个参数。
x为开始值,y为终止值(不包含本身,循环停止的数字),z为步长。
range(0,8,2),数字从0到8,间隔为2。(间隔也可为负数)
0,0+2,2+2,4+2。不包含本身所以没有8
Eg11:
① for i in range(0,8,2):
② print(i)

range(0,8,2),数字从0到8,间隔为2。(间隔也可为负数)
0,0+2,2+2,4+2。不包含本身所以没有8。
Eg12:
① for i in range(8,0,-2):
② print(i)

8-2,6-2,4-2,不包含0。
(三)模块的导入
Python包含模块,是python的程序,含一系列相关函数。
需要import导入。
Import 关键词1,关键词2,关键词3.....(关键词之间用逗号隔开,后面无冒号。)
Eg13:
① import random
② for i in range(5):
③ print(random.randint(5,10))

必须在函数randint之前加random. 告诉pythonrandom模块中的随机函数randint。还有一种不需要在函数前加前缀的方法,不过加入前缀会使代码有可读性。
from关键词 import *的方式。我一般使用加前缀的方式。
(*由于在代码前加入了序号,致使代码的缩进消失了,所以复制代码到python中会出现错误,复制时请删除代码前的序号,一步一步的按程序来缩进代码,避免出现错误。以下这些代码都是我一步一步编写,经过python验证的,所以是没有错误的。*)