鱼C论坛

 找回密码
 立即注册
查看: 2977|回复: 3

关于迭代器

[复制链接]
发表于 2021-4-22 16:45:08 | 显示全部楼层 |阅读模式

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

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

x
string = "FishC"
it = iter(string)
while True:
    try:
        each = next(it)
    except StopIteration:
        break
    print(each)


string = 'FishC'
it = iter(string)
while True:
     try:
         each = next(it)
         print(each)
     except StopIteration:
         break
有什么区别吗,为什么我第一段代码输出不了,第二段可以呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-4-22 17:04:10 | 显示全部楼层
本帖最后由 肖-肖 于 2021-4-22 17:06 编辑

这样能输出:不对我试了下我这里你这两个都能输出
  1. string = "FishC"
  2. it = iter(string)

  3. while True:
  4.     try:
  5.         each = next(it)
  6.         print(each)
  7.     except StopIteration:
  8.         break
复制代码

输出为
  1. F
  2. i
  3. s
  4. h
  5. C
  6. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2021-4-22 22:32:30 | 显示全部楼层
肖-肖 发表于 2021-4-22 17:04
这样能输出:不对我试了下我这里你这两个都能输出

输出为

对的,我也可以输出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-23 11:36:47 | 显示全部楼层
  1. while True:
  2.      try:
  3.          each = next(it)
  4.          print(each)
  5.      except StopIteration:
  6.          break
复制代码


while  True:  会一直执行里面的语句
try .. except try下面的语句如果发生错误,则立即跳转到except 下面执行。
原则上,两端段代码都是如果不发生错误,执行打印操作
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 15:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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