目录
一、while循环补充说明
1、死循环
while+条件:
# 在条件不改变且一直为真时 while会陷入死循环,在我们执行一些较大的运算流程时,while会使我们的CPU占用率急速升高,甚至会使电脑死机、重启
2、嵌套及全局标志位
在我们使用while循环时,通常可使用break结束循环,但break只能结束他所在那一层的循环,在我们使用while嵌套时,想要一次性结束,就应该有几个while,就要写几个break。
由于使用while嵌套时,需要反复地写break来关闭循环,这时我们可设置一个全局标志位,在条件达到时,触动开关type,来一次性关闭循环
is_bool = True # 设置一个全局标记开关
while True: # 设置一个循环,绑定开关
if 条件1: # 条件1成立后,向下执行
while true: # 嵌套一个循环,绑定开关
if 条件2 # 条件2成立后,继续向下执行
is_bool = False # 触动开关,结束循环
else:
条件2不成立执行
else :
条件1不成立执
二、for...循环
1、for...循环特点
相比于while循环,for循环有以下特点
- 擅长遍历取值
遍历取值:指在可在列表、字典、元组、集合等数据值库中,依次取值,类似于索引
- 不需要结束,可自动结束循环
- for循环体代码在执行中,遇到break也会直接结束整个循环
- for循环体代码在执行中,遇到continue也会结束当前循环,重新开始下一次循环
2、for...循环语法结构
for 变量名 in 待遍历的数据:
# 待遍历完成后自动结束循环
liest_int = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 设置一个数据值库
for i in liest_int: # 遍历列表中数据值
print(i) # 将列表中数据值依次打印
三、range方法
1、什么是range
- range可以简单的理解为,能够便捷的帮我们生成一个数据值库
range(100): # 生成一个从0开始,99结束的数据值库
range(10, 100) # 生成一个起始为10,99结束的数据值库
range(1,100,3) # 第三个数为等插值,不写默认为1
2、不同版本python,range区别
在python2中:
range()
直接生成一个列表,内部含有多个数据值
xrange()
其实就是python3中的range
在python3中:
range()
类似于一个工厂,不会占用空间,需要时生产
3、range实战使用
网络爬虫
可使用range特性,来进行网络爬虫,读取我们需要的数据
项目需求
爬取所有页面内容 (豆瓣)
寻找规律
https://movie.douban.com/top250
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
https://movie.douban.com/top250?start=75&filter=
大胆猜测:第一页是 https://movie.douban.com/top250?start=0&filter=
编写代码产生豆瓣10页的网址
https_douban = 'https://movie.douban.com/top250? start=%s&filter= '
for i in range(0, 250, 25):
print(https_douban % i)
'''
分页的规律 不同的网址有所区别
1.在网址里面有规律
2.内部js文件动态加载
'''
练习题
1.计算1-100所有的数之和
答:
count = 0 # 设置一个为0的基数
for i in range(0,101): # 遍历出0-100的数
count += i # 从0开始相加
print(count) # 得出答案为5050
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]
答:
# 2.判断列表中数字2出现的次数
count = 0 # 设置一个从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: # 遍历变量名l1中的数据值
if i == 2: # 当数据值等于2时,记录一次
count += 1 # l1中数据值为2时 基数加1
print(count) # 打印2出现的次数为13
3.编写代码自动生成所有页网址(注意总共多少页)
https://movie.douban.com/top250
答:
寻找规律
https://movie.douban.com/top250
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
https://movie.douban.com/top250?start=75&filter=
第一页是:https://movie.douban.com/top250start=0&filter=
编写代码产生豆瓣10页的网址
https_douban = 'https://movie.douban.com/top250? start=%s&filter= '
for i in range(0, 250, 25):
print(https_douban % i)
4.编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****
标签:douban,python,movie,range,循环,https,com
From: https://www.cnblogs.com/kangssssh/p/16738870.html