循环结构之for循环
| for循环能够做到的事情while都可以做到 只不过for循环在一些场景下使用更简单 |
| 主要场景为:循环获取存储多个数据的数据内部数据值 |
| 实际案例: |
| name_list = ['jason', 'kevin', 'tony', 'oscar'] |
| |
| |
| |
| |
| |
| |
| 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强制结束的情况下运行完毕之后 运行 |
2.while循环补充说明
| 1.死循环:真正的死循环是一旦执行 CPU功耗会急速上升 直到系统采取紧急措施 尽量不要让CPU长时间不间断运算 |
| 2.嵌套及全局标志位 |
| 强调:一个break只能结束它所在的那一层循环 |
| 强调:有几个while的嵌套 想一次性结束 就应该写几个break |
| 强调:如果不想反复写break 可以使用全局标志位 |
| is_flag = True |
| while is_flag: |
| username = input('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('用户名或密码错误') |
3.range方法
3.1 range方法
- range可以看成是一个能够帮助我们快速产生一个包含多个数据值的列表
| for i in range(101): |
| print(i) |
| for i in range(10, 20): |
| print(i) |
| for i in range(1, 20, 2): |
| print(i) |
注意:python2与python3中range的区别
| 在python2中有两个 |
| range() |
| 直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满) |
| xrange() |
| 其实就是python3里面的range方法 |
| 在python3中只有一个 |
| range() |
| 类似于是一个工厂 什么时候要什么时候创建给你 节省内存 |
3.2 range方法实操
网络爬虫:python代码模拟网络请求获取数据
很多网址的数据都不止一页 所以有时候需要通过代码模拟(方式1)
| 博客园多页规律 |
| https://www.cnblogs.com/ 第一页 |
| https://www.cnblogs.com/ |
| https://www.cnblogs.com/ |
| https://www.cnblogs.com/ |
| ... |
| 大胆猜则第一页还可以这么写 |
| https://www.cnblogs.com/ |
| |
| |
| """ |
| https://www.cnblogs.com/#p2 第二页 |
| https://www.cnblogs.com/#p3 第三页 |
| https://www.cnblogs.com/#p4 第四页 |
| ... |
| 大胆猜则第一页还可以这么写 |
| https://www.cnblogs.com/#p1 |
| """ |
| |
| base_url = 'https://www.cnblogs.com/#p%s' |
| for i in range(1, 101): |
| print(base_url % i) |
作业
| |
| |
| a = 0 |
| for i in range(0, 101): |
| a += i |
| print(a) |

| |
| 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] |
| b = 0 |
| for i in l1: |
| if i == 2: |
| b += 1 |
| print(b) |

| |
| |
| url = 'https://movie.douban.com/top250?start=%s&filter=' |
| for i in range (0, 250, 25): |
| print(url % i) |

| |
| |
| |
| |
| |
| |
| |
| for i in range(4): |
| for j in range(5): |
| print('*', end='') |
| print() |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步