每周总结——week02(流程控制篇)
1、流程控制理论
什么是流程控制
对程序执行的顺序进行控制
总共有三种:
1、顺序结构
按程序语句的自然顺序,自上到下,依次执行每条语句的程序
2、分支结构
根据条件是否成立,来判断执行那个分支的结构,叫做分支结构
3、循环结构
根据条件是否成立,来判断是否循环执行代码块,叫做循环结构
2、流程控制必备知识
流程控制中应该注意的事项
1.python中使用代码的缩进来表示代码的从属关系
从属关系:缩进的代码(子代码)是否执行取决于上面没有缩进的
2.并不是所有的代码都可以拥有缩进的代码(子代码)
if关键字
3.如果有多行子代码属于同一个父代码 那么这些子代码需要保证相同的缩进量
4.python中针对缩进量没有具体的要求 但是推荐使用四个空格(windows中tab键)
5.当某一行代码需要编写子代码的时候 那么这一行代码的结尾肯定需要冒号
6.相同缩进量的代码彼此之间平起平坐 按照顺序结构依次执行
3、分支结构
什么是分支结构
根据条件是否成立,来判断执行那个分支的结构,叫做分支结构
单if分支:
'''
语法结构:
if 条件:
条件成立后,所会执行的代码快
'''
choose = input('请输入您的选择:')
if choose == 1:
print('You are right!')
if esle分支:
'''
语法结构:
if 条件:
条件成立后,所会执行的代码快
else:
条件不成立后,所会执行的代码快
'''
choose = input('请输入您的选择:')
if choose == 1:
print('You are right!')
else:
print('You are wrong!')
if ... elif ...elif else多重分支:
'''
语法结构:
if 表达式1:
语句块1
elif 表达式2:
语句块2
...
elif 表达式n:
语句块n
else :
语句块n+1
'''
score=eval(input('请输出你的成绩:'))
if score<=60:
print('您本次考试成绩不合格')
elif 60<score<=80:
print('您本次考试成绩合格')
elif 80<score<=90:
print('您本次考试成绩良好')
else :
print('您本次考试成绩优秀')
'''
'''
if的多重嵌套使用:
'''
嵌套if:
if 表达式1:
if 表达式2:
语句块1
else:
语句块2
if 表达式1:
if 表达式2:
语句块1
else:
语句块2
else 表达式2:
if 表达式3:
语句块3
else:
语句块4
'''
anwser=input('您喝酒了吗?y/n:')
if anwser=='y':
proof=eval(input('请输入酒精含量:'))
if proof<20:
print('下次请不要饮酒后驾车')
elif 20<proof<60:
print('您已构成酒后驾车,请配合调查')
else:
print('您已构成醉驾,请配合调查')
elif anwser=='n':
print('请通行')
else:
print('请您配合调查')
4、循环结构
什么是循环结构
根据条件是否成立,来判断是否循环执行代码块,叫做循环结构
while循环
'''
无限循环while
通过一个条件来控制是否要继续反复执行循环体中的语句
语法结构:
while 表达式:
语句块
执行流程:
当表达式的值为True时,执行语句块
当表达式的值为False时,跳过语句块而执行语句块之后的代码
'''
answer=input('您吃了吗?y/n:')
while answer!='y' and answer!='n':
answer=input('请输入y/n:')
while answer == 'y': # 条件判断
print('多吃点!') # 语句块
break
while answer == 'n':
print('别吃了')
break
while循环的补充说明
死循环
真正的死循环是指,循环一旦启动,开始运行,cpu的功耗就会急速上升,直到系统采取保护机制。我们需要尽量的不要让cpu进行长时间的不间断的工作。
while嵌套及全局标志位
'''
语法结构:
while 条件:
条件成立后所需要执行的代码块
各种流程控制语句(分支、循环)
全局标志位:
因为在while循环中,break语句只能结束它所在的那层循环,如果是一个有多个while嵌套的while循环语句,我们想要停止所有while循环,那么每一层的while循环都需要一个break语句来结束,如果我们想要只通过一个语句结束所有的while循环,那么我们就需要使用全局标志位来实现。
全局标志位就是将while循环的条件用一个变量来接收,我们在需要停止while循环的时候改变一下这个变量的数据值就行了。
'''
示例:
i=0
while i<3:
user_name = input('请输入您的账号:')
pass_word = input('请输入您的密码:')
if user_name=='862808682' and pass_word=='123456':
print('登录成功!')
break
else:
if i<2:
print('您的账号密码有误,请重新输入:''您还有',2-i,'次机会')
i+=1
else:
print('您已输错三次,请24小时后重试!')
break和continue的区别
break和continue都是用来控制循环结构的,主要是停止循环。区别:break指的是终止、结束循环;continue指的是本次的循环,进入下一次的循环。
break和continue都是用来控制循环结构的,主要是停止循环。区别:break指的是终止、结束循环;continue指的是本次的循环,进入下一次的循环。
5、流程控制之for循环
for循环特点及语法结构
'''
for循环能够做到的事情while都可以做到 只不过for循环在一些场景下使用更简单
主要场景为:循环获取存储多个数据的数据内部数据值
语法结构:
for 变量名 in 遍历对象:
循环体语块
特点:
1、不需要结束条件,就可以结束循环
2、擅长遍历取值
'''
示例:
'''
我们定义一个列表,然后获取这个列表中的所有数据。
'''
name_list = ['jason', 'tony', 'tom', 'jack']
for i in name_list:
print(i)
for循环主要遍历的数据类型
for循环主要遍历的数据类型:(字符串、列表、字典、元组、集合)
示例:
# coding:utf-8
name_list = ['jason', 'tony', 'tom', 'jack']
for i in name_list:
print(i)
'''
for循环遍历字符串
'''
for i in 'hello word!':
print(i)
'''
for遍历字典
遍历出来,显示的字典的是k
'''
dic_info={'name': 'jason', 'age':'18','addr':'nanyang' }
for i in dic_info:
print(i)
'''
for遍历集合
'''
set_age = {1,2,3,4,5,6}
for i in set_age:
print(i)
'''
for遍历元组
'''
trup_name = ('tony', 'tom', 'sandy')
for i in trup_name:
print(i)
for循环语法结构中的变量名如何命名
1、见名只意
2、如果遍历出来的对象没有具体的含义,可以使用(i,j,k,v,item)
6、range方法
range()方法目前阶段,我们可以简单的理解为,是一个帮我们产生一个内部包含多个数字数据的的方法。
示例:
'''
range(1,10,2)
使用for循环
通过range()方法产生一个(0-100)的列表
'''
for i in (101):
print(i)
7、range实战案例
'''
网络爬虫
使用代码爬取网络上我们需要的数据
项目需求
爬取所有页面的数据(博客园)
找寻规律
https://www.cnblogs.com/
https://www.cnblogs.com/#p2
https://www.cnblogs.com/#p3
https://www.cnblogs.com/#p4
'''
'''
分页的规律 不同的网址有所区别
1.在网址里面有规律
2.内部js文件动态加载
'''
示例:
'''
大胆猜测:第一页是 https://www.cnblogs.com/#p1
编写代码产生博客园文章前两百页的网址
'''
catch_web = 'https://www.cnblogs.com/#p%s'
for i in range(1,201):
print(catch_web %i)
标签:week02,语句,每周,流程,while,循环,print,代码,表达式
From: https://www.cnblogs.com/HaiMan/p/16758086.html