004从零开始学Python控制流.docx
- 文档编号:8461687
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:10
- 大小:18.32KB
004从零开始学Python控制流.docx
《004从零开始学Python控制流.docx》由会员分享,可在线阅读,更多相关《004从零开始学Python控制流.docx(10页珍藏版)》请在冰豆网上搜索。
004从零开始学Python控制流
004从零开始学Python—控制流
01Python控制流分类及使用规则
1.分类
Python中的控制流语句和其他编程软件控制流相似。
主要包含:
∙
if分支
∙
∙
for循环
∙
∙
while循环
∙
∙
∙
2.使用规则
控制流的使用非常频繁,使用规则如下:
∙
分不同情况执行不同的内容就可以使用if分支完成;
∙
∙
对每一个对象进行相同的操作可以使用for循环实现;
∙
∙
当无法确定循环的对像时,可以用while循环完成重复性的操作。
∙
02Python控制流具体使用说明
1.if分支
if分支是用来判别某个条件是否满足所对应的执行内容,常见的分支类型有二分支类型和多分支类型.。
二分支语法:
∙
∙
∙
∙
ifconditionl:
expression1else:
expression2
三分支语法:
∙
∙
∙
∙
∙
∙
ifconditionl:
expression1elif condition2:
expression2else:
expression3
关于上面的语法,有如下4点需要注意:
∙
对于多分支的情况,elseif在Python缩写为elif;
∙
∙
不论是关键词if,elif还是else,其所在的行末尾都必须加上英文状态的冒号;
∙
∙
在条件之后的执行语句(expression部分)都需要缩进,而且在整个语句块中,保持缩进风格一致;
∙
∙
else关键词后面千万不要再加上具体的条件。
∙
2.for循环
循环的目的:
一般都是为了解决重复性的工作。
优点:
如果使用循环的语法,代码简洁,避免重复性无意义代码。
经验:
if分支和for循环常配合使用。
举例1:
将列表中的每个元素做平方加1处理
∙
∙
∙
∙
∙
∙
∙
∙
∙
#将列表中的每个元素作平方加1处理list6=[1,5,2,8,10,13,17,4,6]
result=[]foriinlist6:
y=i**2+1result.append(y)print(result)out:
[2,26,5,65,101,170,290,17,37
注:
∙
在for循环之前先构造了空列result,用于最终计算结果的存储;
∙
∙
Python中的指数运算可以使用两个星号表示,如3的5次方3**5;
∙
∙
最后通过列表append方法将每个元素计算结果依次存入result变量。
∙
举例2:
计算1到100之间的偶数和
∙
∙
∙
∙
∙
∙
∙
∙
∙
#计算1到100之间的偶数和s1_100=0foriinrange(1,101):
ifi%2==0:
s1_100=s1_100+ielse:
passprint('1到100之间的偶数和为%s'%s1_100)out:
1到100之间的偶数和为2550
注:
A.
在进入循环之前必须定义一个变量,并将0赋给它,目的是用于和的累加;
B.
C.
range函数很方便地生成有规律的可迭代对象,但是该函数取不到上限,所以range函数的第二个参数写入的是101;
D.
E.
判断一个数值是否为偶数,就将该数值与2相除求其余数,如果余数等于0则为偶数,否则为奇数,所以用%表示计算两个数相除的余数,判断余数是否等于0,用双等号==”表示;
F.
G.
由于计算的是偶数和,所以if分支属于二分支类型,这里只关心偶数的和,对于else直接使用关键词pass表示忽略,当然读者也可以省略掉else:
和pass两行;
H.
I.
最后的print输出部分使用了格式化的输出方法:
J.
▪
%d代表一个整数型的坑,%s1_100就定在坑中填入的值;
▪
▪
%s代表字符型的坑;;
▪
▪
%f代表浮点型(小数型)的坑;
▪
▪
.2f%代表保留两位小数点的浮点型坑;
▪
▪
如果有多个待填入坑,就得指定多个填入的值,这样的格式化输出可以写成%(值1,值2,值3)。
▪
举例3:
用更高效的列表表达式替代for循环
如果是对可迭代对象中的每一个元素做相同处理的话,不仅可以使用for循环,还可以通过更简单的列表表达式完成。
对于列表表达式,可以写成如下语法:
[expressionforiiniterableifcondition]
∙
expression就是对每一个元素的具体操作表达式;
∙
∙
iterable是某个可迭代对象,如列表、元组或字符串等;
∙
∙
ifcondition是对每一个元素做分支判断,如果条件符合,则expression操作对应的元素。
∙
∙
∙
∙
∙
∙
#对列表中的偶数作三次方减10的处理list7=[3,1,18,13,22,17,23,14,19,28,16]result=[i**3-10foriinlist7ifi%2==0]print(result)out:
[5822,10638,2734,21942,408
注:
∙
原列表list7中通过余数判断获得5个偶数,再对这些数做三次方减10的操作得到列表型的数据结构输出结果;
∙
∙
Python中除了有列表表达式还有元组表达式和字典表达式,语法跟列表表达式类似,但后两者在实际工作中不常用;
∙
∙
如果for循环和列表表达式均可解决问题,优先选择列表表达式,因为其语法简洁,计算效率高。
∙
∙
3.while循环
while循环与for循环有一些相似之处,有时两者可以互换,但while循环更适合无具体迭代对象的重复性操作。
举例:
当你登录某手机银行APP账号时,一旦输入错误,就会告知用户还剩几次输入机会,其限定用户只能在N次范围内完成正确的输入,否则当天就无法再进行用户名和密码的输入。
从1到N就是for循环的具体迭代对象;
当你在登录某邮箱账号时,输入错误的用户名或密码,只会告知“您的用户名或密码错误”,并不会限定还有几次剩余的输入机会,所以对于这种重复性的输入操作,对方服务器不确定用户将会输入多少次才会正确,对于while循环来说,就相当于一个无限次的循环,除非用户输入正确。
while循环在Python中的语法表达:
∙
∙
∙
∙
∙
∙
∙
while condition:
ifconditionl:
expression1elifcondition2:
expression2else:
expression3
注:
∙
当while关键词后面的条件满足时,将会重复执行第二行开始的所有语句块。
∙
∙
一般情况下,while循环都会与if分支搭配使用。
∙
∙
03通过实例比较for循环与while循环
for循环:
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
#使用for循环登录某手机银行APPforiinrange(1,6):
user=input('请输入用户名:
')password=int(input('请输入密码:
'))if(user=='test')&(password==123):
print('登录成功!
')breakelse:
ifi<5:
print('错误!
您今日还剩%d次输入机会。
'%(5-i))else:
print('请24小时后再尝试登录!
')out:
请输入用户名:
test请输入密码:
111错误!
您今日还剩4次输入机会。
请输入用户名:
test请输入密码:
123登录成功!
while循环:
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
∙
#使用while循环登录某邮箱账号whileTrue:
user=input('请输入用户名:
')password=int(input('请输入密码:
'))if(user=='test')&(password==123):
print('登录成功!
')breakelse:
print('您输入的用户名或密码错误!
')out:
请输入用户名:
Excel知识管理请输入密码:
111您输入的用户名或密码错误!
请输入用户名:
爱上深呼吸李强请输入密码:
123您输入的用户名或密码错误!
请输入用户名:
test请输入密码:
123登录成功!
注:
∙
input函数可以实现人机交互式的输入,一旦运行,用户填入的任何内容都会以字符型的值赋值给user变量和password变量,由于实际的密码为数字123,因此必须将input函数的结果套在int函数内,将其转换为整数型。
∙
∙
如果有多个条件,条件之间的逻辑关系不管是“且”(用&表示)还是“或”(用|表示),所的条件都必须用圆括号括起来,否则可能会得到诡异的结果。
∙
∙
在while循环中,while关键词后面直接跟上True值,就表示循环将无限次执行,正如用无限次输入错误的用户名和密码一般,直到输入正确并碰见break关键词时才会退出循环;
∙
∙
break关键字在Python的循环过程中会比较常见,其功能是退出离它最近的循环系统(可能是for循环或while循环)。
∙
∙
与break类似的另一个关键字是continue,不同的是continue只是结束循环系统中的当前循环,还得继续下一轮的循环操作,并不会退出整个循环。
∙
整体感觉:
编程思想大同小异,如果你学习过C、C++、JavaScript那肯定很有优势,或者哪怕只会VBA编程也没关系,知识迁移能力非常重要,类比着学习方能触类旁通。
表格说明(使用时删除):
1、该表格主要用途包含不局限于学校、公司企业、事业单位、政府机构,主要针对对象为白领、学生、教师、律师、公务员、医生、工厂办公人员、单位行政人员等。
2、表格应当根据时机用途及需要进行适当的调整,该表格作为使用模板参考使用。
3、表格的行列、文字叙述、表头、表尾均应当根据实际情况进行修改。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 004 从零开始 Python 控制