今日内容
1.while循环
2.for循环
3.range方法
while循环
while 条件:
条件成立之后执行的子代码(循环体代码)
1.先判断条件是否成立
2.如果成立则执行循环体代码
3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立
4.如果成立 则继续执行循环体代码
5.按照上述规律依次执行 直到条件不成立才会结束循环体代码的执行
# count = 1
# while count < 5:
# print('hello world')
# count += 1 # count = count + 1
# print('想不想干饭?')
break # 强行结束循环体
while循环体代码一旦执行到break会直接结束循环
continue # 直接跳到条件判断处
while循环体代码一旦执行到continue会结束本次循环 开始下一次循环
while 条件:
循环体代码
else:
循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码
死循环
真正的死循环是一旦执行 CPU功耗会急速上升 直到系统采取紧急措施
尽量不要让CPU长时间不间断运算
嵌套及全局标志位
强调:一个break只能结束它所在的那一层循环
强调:有几个while的嵌套 想一次性结束 就应该写几个break
强调:如果不想反复写break 可以使用全局标志位
is_flag=True
while is_flag:
username = inputt('username:')
password = input('password:')
if username == 'jason' and password == '123':
while is_flag:
cmd = input('请输入您的指令:')
if cmd == 'q':
is_flag = False
print('正在执行您的指令:%s' % cmd)
else:
print('用户名或密码错误')
for循环
for循环能够做到的事情while都可以做到 只不过for循环在一些场景下使用更简单
主要场景为:循环获取存储多个数据的数据内部数据值
实际案例:
name_list = {'jason','kevin','tony','oscar'}# 遍历
# 循环打印出列表中每一个数据值(while 索引取值>>>:超出范围会报错)
# count = 0
# while count < 4:
# print(name_list[count])
# count += 1
# for循环
for i in name_list:
print(i)
for循环语法结构
for 变量名 in 待遍历的数据:
for循环体代码
for循环特点
1.擅长遍历取值
2.不需要结束条件 自动结束(遍历完)
for循环主要遍历的数据类型有(常见有 字符串、列表、元组、字典、集合)
info = 'hello world'
for i in info:
print(i) # 单个单个字符
d = {'username': 'jason', 'password': 123}
for i in d:
print(i) # 只有键参与变历
for循环语法结构中的变量名如何命名
1.见名知意
2.如果遍历的数据值没有具体的含义 可以使用常用的
i j k item v
for循环体代码中如果执行到break也会直接结束整个for循环
for循环体代码中如果执行到continue也会结束当前循环直接开始下一次循环
for 变量名 in 待遍历的数据:
for循环体代码
else:
for循环体代码没有被break强制结束的情况下运行完毕之后 运行
range方法
range可以简单的理解为是帮我们产生一个内部含有多个数字的数据
for i in range(101): # 起始位置为0 终止位置为100
print(i) # [0,.......100]
for i in range(10, 20): # 第一个为起始位置 第二个终止位置
print(i)
for i in range(1, 20, 2): # 第三个数为等差值 默认不写为1
print
"""
在python2中
range()
直接产生一个列表 内部含有多个数值
xrange()
其实就是python3里面的range
在python3中
range()
类似于一个工厂 不会占用太多的内存空间 要就生产
"""
实战案例
网络爬虫
使用代码爬取网络上我们需要的数据
项目需求
爬取所有页面的数据(博客园)
找寻规律
https://www.cnblogs.com/
https://www.cnblogs.com/#p2
https://www.cnblogs.com/#p3
https://www.cnblogs.com/#p4
大胆猜测:第一页是 https://www.cnblogs.com/#p1
编写代码产生博客园文章前两百页的网址
'''
分页的规律 不同的网址有所区别
1.在网址里面有规律
2.内部js文件动态加载
'''
#作业
```python
1.计算1-100所有的数之和
#a = 0
#for i in range(1,101):
#a = a+i
#print(a)
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]
#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]
#icount = l1 .count(2)
#print('数字出现的次数:%d'%icount)
3.编写代码自动生成所有页网址(注意总共多少页)
https://movie.douban.com/top250
#a='https://movie.douban.com/top250=%s&filter='
#for i in range(0,250,25):
#print(a%i)
4.编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****
标签:循环体,代码,9.28,range,while,循环,print
From: https://www.cnblogs.com/yueq43/p/16739248.html