baso4 发表于 2020-6-29 17:44:01

关于迭代器的问题(老版python第48讲)

课后题动动手中要求用while语句实现for语句的功能, 然后我的代码是:while True:
        try:
                i = iter(range(5))
                print(next(i))
        except StopIteration:
                break
然而就会发现它会无限地输出没有停止。。
然后我看了甲鱼老师的, 他的代码是alist = range(5)
it = iter(alist)

while True:
    try:
      print(next(it))
    except StopIteration:
      break
我发现我就是把前面的代码放到了try语句中,但是不知道为什么就会不能正确运行。请教一下各位大佬这样的原因{:10_266:}

qiuyouzhi 发表于 2020-6-29 17:48:15

你每次都是iter(range(5)),这样的话,每次range(5)都会重新初始化一遍,又从头开始了。

baso4 发表于 2020-6-29 18:02:26

qiuyouzhi 发表于 2020-6-29 17:48
你每次都是iter(range(5)),这样的话,每次range(5)都会重新初始化一遍,又从头开始了。

懂了谢谢!忘记while循环了,我好憨

心驰神往 发表于 2020-11-3 11:23:23

{:10_243:}

心驰神往 发表于 2020-11-3 11:23:53

再来

心驰神往 发表于 2020-11-3 11:24:28

打扰了
页: [1]
查看完整版本: 关于迭代器的问题(老版python第48讲)