Python学习路程——Day06
目录一、while循环的补充说明
1、死循环
真正的死循环是指,循环一旦启动,开始运行,cpu的功耗就会急速上升,直到系统采取保护机制。我们需要尽量的不要让cpu进行长时间的不间断的工作。
2、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小时后重试!')
二、流程控制之for循环
1、for循环特点及语法结构
'''
for循环能够做到的事情while都可以做到 只不过for循环在一些场景下使用更简单
主要场景为:循环获取存储多个数据的数据内部数据值
语法结构:
for 变量名 in 遍历对象:
循环体语块
特点:
1、不需要结束条件,就可以结束循环
2、擅长遍历取值
'''
示例:
'''
我们定义一个列表,然后获取这个列表中的所有数据。
'''
name_list = ['jason', 'tony', 'tom', 'jack']
for i in name_list:
print(i)
2、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)
3、for循环语法结构中的变量名如何命名
1、见名只意
2、如果遍历出来的对象没有具体的含义,可以使用(i,j,k,v,item)
三、range方法
range()方法目前阶段,我们可以简单的理解为,是一个帮我们产生一个内部包含多个数字数据的的方法。
示例:
'''
使用for循环
通过range()方法产生一个(0-100)的列表
'''
for i in (101):
print(i)
四、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)
练习:
1、计算1-100所有的数之和
'''
计算1-100所有的数之和
'''
sum = 0
for i in range(1, 101):
# sum = sum = sum + i
sum += i
print(sum)
2、判断列表中数字2出现的次数
'''
判断列表中数字2出现的次数
l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2]
'''
count = 0
l1 = [11, 2, 3, 2, 2, 1, 2, 1, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2]
for i in l1:
if i == 2:
count +=1
print(count)
3、编写代码自动生成所有页网址(注意总共多少页)
https://movie.douban.com/top250
catch_web = 'https://movie.douban.com/top250?start=%s&filter='
# rang()方法可以设置步长
for i in range(0, 251, 25):
print(catch_web % i)
4、编写代码打印出下列图形(ps:for循环嵌套)
'''
编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****
'''
for i in range(1, 5):
for j in range(1, 5):
print('*', end='')
print()
标签:遍历,路程,Python,Day06,while,循环,print,range,com
From: https://www.cnblogs.com/HaiMan/p/16739330.html