我是靠谱客的博主 细心往事,最近开发中收集的这篇文章主要介绍for循环步长为2 matlab_第012篇:for循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

422ee2cea7abf5c3eece07cebc4d192f.png

如上节课所说,for循环是明确循环次数的迭代。咱们先来看一下各种编程语言下的for循环:

JAVA

ba2c133c16a300098d9abcdfdc93956c.png

C++

3fa9e9a7d148c9f2018b218006b6f415.png

再来看看Python:

dee16c4b30e71cf7f45355f9f4652a7f.png

同样的执行结果,Python的代码行数最少,也最简洁。

57fa40b81d366d4da8694857cf2b343b.png

广告做完了,言归正传。我们来看看Python for循环的语法:

c0506fe8af3a4754c5f0dc4bb4ff7e1b.png

其中:

<iterable> # 是指一切可以迭代的,如:字符串、列表、元组、集合、字典等
<var> # 被重复赋值的变量
<statement(s)> # 程序块

上面我们说了for要有明确的循环次数,那么字符串、列表这些数据类型,for是如何判断结束的呢?

iter()

iter()是用来生成迭代器的内部函数,咱们来看一下它处理字符串的过程:

119cbc314ec4381cbacb142bba2e4fbf.png

可以看到itr已经是迭代器类型了,我们接着看它的内容:

b78bae2727021627f6bad494db155c49.png

next()也是Python内部函数,用于返回下一个迭代器的内容。第一次执行next(itr)返回的字符串“Hello”中的第一个字符“H”,接下来依次返回“Hello”后续的每一个字符。

通过上面的读取,我们已经完成了字符串“Hello”的全部读取,那么接下来我们再进行读取,会发生什么呢?

ecd4601cb22375ed6a69c903fa73738e.png

上面已经返回了迭代器的所有值,则后续再next()调用将引发StopIteration异常。从迭代器获取值的任何进一步尝试都将失败。同时迭代器的取值只能从一个方向的迭代器获取值。你不能后退。没有内部函数prev()。

通过这些我们就能理解for循环在处理字符串、列表等数据类型的时候是如何工作的了吧?

我们看看for循环下的字符串:

4f85ff183a03baa26c2aa3de2a3ae8e7.png

由于列表、元组、字典这些数据类型我打算后面讲,所以就不能一一地展开谈了,看一个列表的例子,感受一下:

c589d0b750c6012d02475d19381103e8.png

不错吧?由于篇幅的原因,原谅我没有加入更多名字,你可以自行尝试,用逗号隔开就好。

range()

range()可以自动创建一个整数类型的列表,它的语法是这样滴:

range( [start,] stop [,step] ) 

方括号是可选的,就是不一定需要:

start # 开始数字
stop # 结束数字
step # 步长

上面我们的程序还记得吗?

b7236a9dc9f07ed6fca740483ddf72ab.png

这里的调用只给了stop结束,range()给定的缺省start是0,这里一定要

特别注意:stop所给定的结束数字并不包含它自己。

比如上面的range(6)的结束数字是5,而不是6,这一点大家一定要记住!切记,切记!

那么如果要得到1到100的数字列表怎么表达呢?来,看这里:

range(1, 100+1)

可能我用100+1逻辑上是不是更明白一些。

如果我想得到10以内的偶数怎么办?这就要用到了步长

bd933f2bbadb192c24add550587dfb70.png

不用步长能不能得到10以内的偶数呢?答案是肯定的,一个“资深的”大叔。。。额,是资深的程序员可以有一百种方法给出你想要的结果。我这只能再给一种。

267917ccef2fc77172e98b53d746a80c.png

搞定!打完收工。是不是很简单?只是用了x是否能被2整除就解决了?Python很酷,我爱Python!

1b4741ddd5bef553b8622861ea8af5f0.png

这是for循环嵌套的调用方法,可以打印三角形(额,这是上学那会入门教育的基本功,不敢忘)。

细心的你会不会发现变量j并没有用到后面的程序里?这种情况在Python里是可以丢弃的,对,丢弃,就是不用变量了,用下划线替代,表示没用的意思:

b4a65c7eb00ea1372f4da9d6a336c2fb.png

来,咱们最后来个九九乘法表,这一节的课就讲完了。

a80f304d37c055ca223ba11556fa2d02.png

程序很短,可自行理解。

下节课我们要讲while循环,之后我们会回到列表、元组、集合和字典的讲解上来。

请持续关注,你们的鼓励才是我讲下去的动力。

最后

以上就是细心往事为你收集整理的for循环步长为2 matlab_第012篇:for循环的全部内容,希望文章能够帮你解决for循环步长为2 matlab_第012篇:for循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部