欢迎光临散文网 会员登陆 & 注册

跟着《python编程快速上手-让繁琐工作自动化》教材入坑Python 第二章 控制流

2021-10-28 15:48 作者:文字物语  | 我要投稿

 第二章 控制流

 

进入第二章节,语句变多了,内容相对第一章有些复杂,有些内容不是很好理解。最好是在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验证的,所以是没有错误的。*)

 


跟着《python编程快速上手-让繁琐工作自动化》教材入坑Python 第二章 控制流的评论 (共 条)

分享到微博请遵守国家法律