鱼C论坛

 找回密码
 立即注册
查看: 2593|回复: 13

迭代,听的次数非常多,可就是写不出来,能否给个例子,并做下讲解,谢谢。

[复制链接]
发表于 2015-11-10 22:29:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 飘雪折柳别 于 2015-11-10 22:31 编辑

迭代,听的次数非常多,可就是写不出来,能否给个例子,并做下讲解,谢谢。
最好带有函数,再次感谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-11 06:35:54 | 显示全部楼层
PYTHON课里有详细解释的,仔细往下看吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-11-11 14:59:03 | 显示全部楼层
我觉得得自己看代码学习,先从理解单个程序开始,逐步加深理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-11-11 16:38:10 | 显示全部楼层
比如range()这个函数,传入参数是整形,返回一个range object
例子:
  1. >>> for i in range(10):
  2.         print(i)

  3.        
  4. 0
  5. 1
  6. 2
  7. 3
  8. 4
  9. 5
  10. 6
  11. 7
  12. 8
  13. 9
  14. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-11 16:45:46 | 显示全部楼层
本帖最后由 liorylee 于 2015-11-11 16:46 编辑
  1. i = 0
  2. while i < 9:
  3.     i += 2
  4.     print(i)
复制代码

这就是一个简单的迭代吧。迭代其实就是上一次的输出(i+2)作为下一次的输入(i初始值),然后逼近所需的结果(i<9)。
运行结果是:
  1. 2
  2. 4
  3. 6
  4. 8
  5. 10
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-11-11 17:19:04 | 显示全部楼层
谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-11-11 17:19:59 | 显示全部楼层
hldh214 发表于 2015-11-11 16:38
比如range()这个函数,传入参数是整形,返回一个range object
例子:

谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-11 17:20:33 | 显示全部楼层
liorylee 发表于 2015-11-11 16:45
这就是一个简单的迭代吧。迭代其实就是上一次的输出(i+2)作为下一次的输入(i初始值),然后逼近所需的 ...

谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-11 17:21:21 | 显示全部楼层
天也高云也淡 发表于 2015-11-11 14:59
我觉得得自己看代码学习,先从理解单个程序开始,逐步加深理解

嗯,好的,我再重新看一遍视频的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-11 17:22:15 | 显示全部楼层
我爱小惠 发表于 2015-11-11 06:35
PYTHON课里有详细解释的,仔细往下看吧

嗯,好的,我再看一遍视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-12 09:32:54 | 显示全部楼层
也在学循环while for之类的,共勉:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-12 12:39:04 | 显示全部楼层
  1. def diedai(i):
  2.     if i < 5:
  3.         print(i)
  4.         diedai(i + 1)
  5. diedai(0)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-12 15:47:08 From FishC Mobile | 显示全部楼层
本帖最后由 无名似名 于 2015-11-12 15:51 编辑

迭代器是一个对象 对象由类生成所以在类中定义两个函数 一个是__iter__()返回实例对象一个是__next__()返回下一个数据 当用for或者next()调用时 编译器会自动调用类中两个函数,原理就这么简单
同迭代一样作用的是生成器,更简单,在函数内部添加yield 返回值 就能用for 或者next()调用,函数运行到yield返回值并且被'冻住'其内部变量均不会丢失
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-16 22:55:29 | 显示全部楼层
我感觉迭代就是让程序的返回值继续成为函数的输入,让程序自己继续运行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 04:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表