python 循环结构-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(j)
for k in sets:
    print(k)

​

​

① 关键子in后面的序列指的是一组值,可能是数字,也可能是字符串。

② 关键字for后面的变量就是依次取序列里的值,每取一次值就执行一次下面的代码块,直到序列里的值全取完。

特别注意:for那行语句最后用“:”结尾,下面的代码块必须缩进!

range( )函数

这里要注意的是range()函数的用法,它会产生一个列表,从给定的第一个数开始,到给定的最后一个数之前结束,也就是说并不包括给定的最后一个数。

比如我们这里的range(1,100),它产生一个列表,从给定的第一个数开始(也就是1),到给定的最后一个数之前结束(就是100之前),也就是到99结束,这个列表是不包括100的。

但是range(1,100)每次循环计数都是增1,那如果小朋友想每次循环计数都是增2呢?比如小朋友想打印1到99之间的奇数,1、3、5……97、99,那我们这个range函数怎么写呢?

代码如图4,range(1,100,2)中的2就是每次的增加数,也叫步长。意思就是每次循环,数都会在原来的基础上增加2。

 

图4里的代码:

第1次循环:变量num在1到100的列表([1,100])里取值1;

第2次循环:由于步长是2,所以num=1+2=3,变量num在列表[1,100]里取值3;

第3次循环:num=3+2=5,变量num在列表[1,100]里取值5;

……

第50次循环:num=97+2=99,变量num在列表[1,100]里取值99;

由于再下一次循环num=99+2=101,101已经超出了列表[1,100]的取值范围,所以不再执行这个循环体里的代码,那程序输出结果就只到99为止。

从这篇开始,我将会向小朋友们介绍一些编程术语。

编程术语箱:参数

什么叫参数,就是使用函数时放在括号里的值,比如我们在使用range()函数时放在括号里的值,range(1,100,2)。在编程的术语里,这叫向函数传入参数。由于函数都是定义好的,每个函数的参数个数和类型都是定义好的。我们不能自己随便写。

比如range()函数,range()函数的语法是range(start,stop,[step]):

start:计数从start开始,默认是从0开始,意思就是如果没定义,就是0。例如range(5)等同于range(0,5)

stop:计数到stop结束,但不包括stop。例如range(0,5)是列表[0,1,2,3,4],没有5

step:步长,默认为1,意思就是没定义那就是1。例如range(0,5)等同于range(0,5,1)。注意step外有个中括号[],意思是可选,也就是说可以不定义,不定义的话就是1。

没有数字的计数循环

上面我们举的例子,循环变量都是一个数,取值范围也是在一个数字列表里。但是列表并不一定非得是数字列表,也可以是字符串(比如“Hello”),也可以是其它列表(比如[“红色”,”绿色”,”黄色”]。

这一篇主要是讲了Python的for循环,但是这种循环要求事先确定知道要做多少次循环,有个比较明确的列表。可是如果没有列表呢,那我们就需要使用另一种循环了,我们称之为条件循环,使用关键字while,下一篇我将和小朋友们一起来看while循环。

原创不易,请勿抄袭。欢迎大家关注我,和我多交流,如果你喜欢,请转赞评三连,谢谢。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值