我们在上一节提到过计数控制的循环是根据绝对值的次数来进行循环,我们通过for语句来实现计数循环,那么在for循环中一定存在控制次数的对象。

1. for循环

for循环是通过次数的大小来进行循环,通常我们会使用遍历序列或枚举以及迭代来进行循环。

for循环的结构为:for 迭代变量 in 对象:

循环体

迭代变量在我们每一次循环中保存根据变量得到的值,对象既是有序的序列,可以是字符串、元组、列表,也可以是无序的序列,例如字典。而循环体则为一条或若干条会被重复执行的语句。

下面是for循环可迭代的对象类型index = [1,2,3,4]#列表

string = 'abcdef'#字符串

sets = (1,2,3,4)#集合

for i in index:

print(i)

for j in string:

print(i)

for k in sets:

print(i)

我们来看一下for循环语句的执行流程图:

先定义一个循环for i in range(10)

从流程图中来分析一下这个循环。

首先我们分析这个循环的结构,i为迭代对象,range(10)为对象,在这里这个对象为一个0-9的序列,它等价于[0,1,2,3,4,5,6,7,8,9]。

当进入这个循环,首先会判断0-9是否遍历完,如果还未开始,则从第一个开始遍历,第一次是直接进入循环体,然后再次回到判断,判断是否还有值未进入循环,如果存在,就取这一项再次进入循环体,直到序列中的对象全部遍历完,然后退出循环。

下面我们通过一个实例来学习一下:index = 5

for i in range(index):

print("这是第",i,'项')

运行结果:这是第 0 项

这是第 1 项

这是第 2 项

这是第 3 项

这是第 4 项

通过这个简单的例子我们简单的认识了for循环,它的原理是根据对象中因素去决定它需要迭代多少次,迭代完成后退出循环。

在for循环中中离不开range()函数的使用,下面来了解一下range()函数。

2. range()函数

range()函数是Python内置的函数,它被用于生成一系列连续的整数,它的语法格式为:range(start, stop[, step])

start:计数的第一个值,是包含这个值,如果没有start的时候默认为0。

stop:计数的最后一位,不包含这个值,当range(1,3)的时候,等同于[1,2]是没有3这个数字的,在使用的时候一定要注意这一点。当range()中只有一个数字的时候,像range(3),对应的是[0,1,2]这样一个序列,关于这点大家多多使用就会体会到。

step:为步长,用来控制取数之间的间隔,如果省略则默认为1,如果为2,3等则步长为2,3等。步长为-1时为逆序。

通过下面例子来看了解一下range函数。>>> list(range(10))#范围0-9

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> list(range(1, 11))#范围1-10

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> list(range(0, 30, 5))范围0-29,步长为5

[0, 5, 10, 15, 20, 25]

>>> list(range(0, 10, 3))范围0-9,步长为3

[0, 3, 6, 9]

>>> list(range(0, -10, -1))范围0-(-10),步长为-1

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> list(range(0))

[]

>>> list(range(1, 0))

[]

能够熟练的使用range()函数对我们之后的学习有很大的帮助,大家可以在自己的编辑器上多多尝试一下这个函数。

下一节我们来讲一下循环嵌套。

3.推荐题解

python for循环结构_循环结构-for循环相关推荐

  1. 为什么双层循环 冒泡排序_冒泡排序的双重循环理解

    主要说一下冒泡排序的一些关键地方的个人理解,比如算法思想,两个循环的作用意义,中间循环变量范围的确定等. 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面 ...

  2. do while循环语句_流程控制之循环语句【while循环语句】

    while循环语句 while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句. 语法如下: while(条件表达式){ 执行语句 } 条件表达式:这是用于控制循环的条 ...

  3. birt脚本for循环语句_如何使用 for 循环语句嵌套方法!

    for循环语法: for( 表达式1:表达式2:表达式3) { 循环体 } 循环从表达式1开始 - 表达式2(判别表达式)- 真 - 执行循环体 - 表达式3 - 判断表达式2 真 : 继续 - 循环 ...

  4. python 1到n偶数求和 for结构_计算收入/for循环实现1~100偶数求和

    """ 输入月收入和五险一金计算个人所得税deduction 扣除""" salary =float(input('请输入本月收入')) i ...

  5. python 桑基图_流量结构分布图——桑基图(Sankey)

    原标题:流量结构分布图--桑基图(Sankey) 桑基图作为相对复杂的图表种类,平时很少用到,不仅仅是因为它的引用场景相对狭窄,另一方面则是制作难度相对较大,门槛较高. 不过针对第一个问题,如果你能很 ...

  6. java 循环标记_深入浅析Java 循环中标签的作用

    continue和break可以改变循环的执行流程,但在多重循环中,这两条语句无法直接从内层循环跳转到外层循环.在C语言中,可以通过goto语句实现多重循环的跳转,但在非循环结构中使用goto语句会使 ...

  7. gif循环播放_防止动画GIF循环播放

    gif循环播放 We all know animated GIFs put the "fun" in "functional." I've recently w ...

  8. boost log 能不能循环覆盖_如何在 JS 循环中正确使用 async 与 await

    引言 async / await是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案.目前,async / await这个特性已经是stage 3的建议 然而,由于部分开发人员对该语法糖原理的 ...

  9. php 导出mysql 结构_导出结构和数据(如phpmyadmin)

    在这里,您可以找到一个全面的解决方案来转储MySQL结构和数据,比如在PMA中(不使用exec.passthru等): 它是Dszymczuk项目的一个分支,有我的增强功能. 用法很简单 //MySQ ...

  10. JAVA script 循环 图片_深入分析JavaScript 事件循环(Event Loop)

    事件循环(Event Loop),是每个JS开发者都会接触到的概念,但是刚接触时可能会存在各种疑惑. 众所周知,JS是单线程的,即同一时间只能运行一个任务.一般情况下这不会引发问题,但是如果我们有一个 ...

最新文章

  1. 从iso镜像升级ubuntu
  2. JS-用js的for循环实现九九乘法表以及其他算数题等
  3. linux虚拟网络设备之tun/tap驱动程序设计原理(五)
  4. c# list集合根据某个字段去重_Python list、dataframe去重
  5. PHP Warning: date(): It is not safe to rely on the system’s timezone settings
  6. 论文schedule
  7. visual studio能统计代码规模吗_Windows电脑游戏运行库有必要装吗?
  8. 创业型公司如何找有相同价值观的人(转)
  9. ubuntu之路——day9.2 Covariate shift问题和Batch Norm的解决方案
  10. 软件设计方案说明书模板
  11. 记sublime手动下载安装emmet和PyV8文件记录
  12. thinkpad E40 Windows7下安装Ubuntu
  13. Netron - 网络可视化
  14. 括号匹配(POJ2955)题解
  15. 2021年高考成绩查询永春一中,今天2018福建高考成绩出炉!泉州第一名是他们,永春一中、四中取得优异成绩!...
  16. android 视频通话框架,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮
  17. Python读取和处理mf4
  18. 2020年电商设计风格分析
  19. 如何用Python求解微分方程组
  20. 51单片机LED数码管

热门文章

  1. 笔记本暗屏维修多少钱_电视机维修|维修电视机多少钱?电视机黑屏
  2. Qt 互斥锁 QMutex 的简单应用
  3. 骑士 java_在递归骑士之旅中正确声明变量(Java作业)
  4. 安卓 camera 调用流程_[Camera]Camera1 open、preview、take picture流程分析(3)
  5. 混合牛奶pascal程序
  6. AtCoder AGC034D Manhattan Max Matching (网络流)
  7. linux ruby gem 安装目录,linux 安装 gem
  8. delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数)
  9. 由web项目中上传图片所引出的路径问题
  10. We will be discontinuing the Nitrous Development Platform and Cloud IDE on November 14th, 2016.