
- while循环补充说明
- 流程控制之for循环
- 基本数据类型内置方法
内容详细
| 1.死循环 |
| 真正的死循环是一旦执行,Cpu的功耗会急速上升 知道系统采取紧急措施 |
| 所以 尽量不要让cpu长时间不断运算。 |
| |
| 2.嵌套以及全局标志位 |
| 强调:1.一个break只可以结束他所在的那一层循环 |
| 2.有几个while的嵌套 想一次性结束 就应该写几个break! |
| 3.如果不想反复写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('用户名或密码错误') |
| |
流程控制之for循环
for循环可以做到的事情while都可以做到,只不过for循环在某些场景下使用更简单
主要场景:循环获取储蓄多个数据的数据内部数据值
实际:
| name_list = ['jason', 'kevin', 'tony', 'oscar'] |
| |
| |
| |
| |
| |
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循环语法结构中的变量名如何命名
- 见名知意
- 如果遍历出来的数据值没有具体的含义 可以使用常用的
- i j k item v
for循环体代码中如果执行到break也会直接结束整个for循环
for循环体代码中如果执行到continue也会结束当前循环直接开始下一次循环
| for 变量名 in 待遍历的数据: |
| for循环体代码 |
| else: |
| for循环体代码没有被break强制结束的情况下运行完毕之后 运行 |
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中 |
| range() |
| 直接产生一个列表 内部含有多个数值 |
| # range(100) 在python2中 会打印出1-99全部数字 会占空间 |
| xrange() |
| 其实就是python3里面的range |
| 在python3中 |
| range() |
| 类似于一个工厂 不会占用太多的内存空间 要就生产 |
| """ |
range实战案列
| 网络爬虫 |
| 使用代码爬取网络上我们需要的数据 |
| 项目需求 |
| 爬取所有页面的数据(博客园) |
| 找寻规律 |
| https://www.cnblogs.com/ |
| https://www.cnblogs.com/ |
| https://www.cnblogs.com/ |
| https://www.cnblogs.com/ |
| |
| 大胆猜测:第一页是 https://www.cnblogs.com/ |
| 编写代码产生博客园文章前两百页的网址 |
| ''' |
| 分页的规律 不同的网址有所区别 |
| 1.在网址里面有规律 |
| 2.内部js文件动态加载 |
| ''' |
作业
| 计算1-100所有的数之和 |
| num = 0 |
| for i in range(1, 101): |
| num += i |
| |
| |
| print(num) |
| |
| |
| |
| 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] |
| n = 0 |
| for i in l1: |
| print(i) |
| if i == 2: |
| n += 1 |
| print(n) |
| 3.编写代码自动生成所有页网址(注意总共多少页) |
| num = 0 |
| base_utl = 'https://movie.douban.com/top250?start=%s&filter=' |
| for i in range(0, 250, 25): |
| num += 1 |
| print(base_utl % i) |
| print(num) |
| |
| |
| |
| |
| |
| |
| for i in range(4): |
| for i in range(5): |
| print('*', end='') |
| print() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构