本章内容概要

1.循环结构之 for 循环

本章内容详解

1.循环结构之for循环

1.1 语法结构

for 变量名 in 可迭代对象: #字符串 列表 字典 元组
for 循环的循环体代码

针对变量名的命名 如果带取值的数据有明确的指向 最好见明知意

例:
form name in 学习姓名名单
for addr in 地址信息

如果没有明确的指向 可以使用常见的字母

i   j    k    item  v ....

用 while 和 for 循环打印 l1 = ['a', 'b', 'c', 'd']

whlie:

x = 0   # 定义 x 初始值为0
while x < 4: # x < 4 取 0 1 2 3
print(l1[x]) # 索引取值
x += 1 # 循环x值加一

for:

for i in l1:  # 变量名 i 从l1依次取值
print(i) # 打印i

比较两者代码  在取值中 for 比 while 更简洁

1.for 循环 字典

user_dict = {'username': 'zhang', 'password': 123, 'age': 12}
for i in user_dict:
print(i)

从结果可以看出 for 循环字典 默认只能取到字典的key

2.for 循环 字符串

x = 'hello 你好'
for i in x:
print(i)

从结果可以看出 for 循环字符出串 默认每次取单个字符

3.for 循环 元组

x = (11, 22, 33, 44)
for i in x:
print(i)

从结果可以看出 for 循环元组数据与列表一致 默认都是单个数据值

4.for 循环 集合

x = {1, 2, 3, 4}
for i in x:
print(i)

从结果可以看出 for 循环集合数据与列表一致 默认都是单个数据值

如上图 for 循环 集合打印出结果是乱序的,为什么???

因为字典,集合本身就是无序的,打印出结果,这个排序都是随机的,没有规律可言,只不过字典编程工具为了便于我们查看 一般会给你弄个顺序

1.2 for重要知识 range

range 方法

range可以看成是一个能够帮助我们快速产生一个包含多个数据值的列表

1.如果括号内只有一个数字 那么就是从0开始到数字减一结束(顾头不顾尾 左包含右不包含)

for i in range(5):
print(i)

2.括号内有两个数字 第一个是起止位置(包含)  第二个是终止位置(不包含)

for i in range(3, 7):
print(i)

3.括号内有三个数字 最后一个是数据间隔符(等差数列)

for i in range(2, 30, 5):
print(i)

在python2中有两个
      range()
             直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满)
      xrange()
             其实就是python3里面的range方法
在python3中只有一个
      range()
      类似于是一个工厂 什么时候要什么时候创建给你 节省内存

1.3 range方法实操

网络爬虫:python代码模拟网络请求获取数据
很多网址的数据都不止一页 所以有时候需要通过代码模拟

https://www.cnblogs.com/ 第一页
https://www.cnblogs.com/#p2 第二页
https://www.cnblogs.com/#p3 第三页
https://www.cnblogs.com/#p4 第四页
...
大胆猜则第一页还可以这么写
https://www.cnblogs.com/#p1

# 编写代码自动产生博客园前一百的网址
# 提前定义好一个模板
url = 'https://www.cnblogs.com/#p%s'
for i in range(1, 101):
print(url % i)

1.4 for + break

break也能够结束所在的那一层for循环

# 1-10  7结束
for i in range(1,11):
if i == 7:
break
print(i)

1.5 for + continue

continue也能够结束所在的那一次for循环 直接开始下一次

# 1-6  4跳过
for i in range(1, 6):
if i == 4:
continue
print(i)

1.6 for + else

else配合for一起使用 当for循环没有被强制结束的情况下 循环体结束之后运行else子代码

for i in range(10):
print(i)
if i == 5:
break
else:
print('我什么时候执行')

作业

1.计算1-100所有的数之和

sum = 0
for i in range(101):
sum += i
print(sum)

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

3.编写代码自动生成所有页网址,https://movie.douban.com/top250

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

4.编写代码打印出下列图形(ps:for循环嵌套)

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

【python基础】第08回 流程控制 for循环的更多相关文章

  1. 046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项

    046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...

  2. 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

  3. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  4. 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

  5. 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句

    050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...

  6. 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句

    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...

  7. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

  8. 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

  9. 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围

    045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...

随机推荐

  1. OpenHarmony 3.1 Beta 版本关键特性解析——ArkUI canvas组件

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 江英杰 华为技术有限公司 canvas 是 ArkUI 开发框架里的画布组件,常用于自定义绘制图形.因为其轻量.灵活. ...

  2. Asynchronous Methods for Deep Reinforcement Learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ICML 2016 Abstract 我们提出了一个概念上简单且轻量级的深度强化学习框架,该框架使用异步梯度下降来优化深度神经网络控制器. ...

  3. Java语言学习day05--7月2日

    今日内容介绍1.引用类型变量的创建及使用2.流程控制语句之选择语句 ###01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scanner类是属于引用数据类型,我们先了解下 ...

  4. Java语言学习day38--8月13日

    ###11哈希表的数据结构 A:哈希表的数据结构:(参见图解) 加载因子:表中填入的记录数/哈希表的长度 例如: 加载因子是0.75 代表: 数组中的16个位置,其中存入16*0.75=12个元素 如 ...

  5. 从.net开发做到云原生运维(八)——DevOps实践

    1. DevOps的一些介绍 DevOps(Development和Operations的组合词)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的 ...

  6. Divan and bitwise operations

    这是一道比较综合的数学题目,光是吧题目看懂就花了我好一会儿时间,先看看题目吧: 题目分析:对于m段给定连续段的或值,要求出n个数的序列子序列的异或值之和: 题解: 这道题,我们先不要把它当作一个数一个 ...

  7. 罗马数字转整数,Java执行时间超过100%用户的写法

    执行用时:2 ms, 在所有 Java 提交中击败了100.00%的用户 题目 https://leetcode-cn.com/problems/roman-to-integer 罗马数字包含以下七种 ...

  8. 【ASP.NET Core】自己编程来生成自签名的服务器证书

    如果项目不大,或者是客户公司内部使用,或者不想花钱购买证书,又或者用于开发阶段测试--完全可以使用自签名证书. 所谓自签,就是自己给自己签名颁发的证书,自给自足,丰衣足食. 生成证书的方法和工具很多, ...

  9. Spark SQL底层执行流程详解

    本文目录 一.Apache Spark 二.Spark SQL发展历程 三.Spark SQL底层执行原理 四.Catalyst 的两大优化 一.Apache Spark Apache Spark是用 ...

  10. spring-data-jpa操作数据库

    1.spring-data-jpa是spring对hibernate的整合 2.spring boot工程在实体类添加注解.添加两个依赖.写配置文件,可以自动生成数据库表 实体类: @Entity / ...