1452796154 发表于 2021-4-22 16:45:08

关于迭代器

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
有什么区别吗,为什么我第一段代码输出不了,第二段可以呢

肖-肖 发表于 2021-4-22 17:04:10

本帖最后由 肖-肖 于 2021-4-22 17:06 编辑

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

while True:
    try:
      each = next(it)
      print(each)
    except StopIteration:
      break
输出为
F
i
s
h
C
>>>

柿子饼同学 发表于 2021-4-22 22:32:30

肖-肖 发表于 2021-4-22 17:04
这样能输出:不对我试了下我这里你这两个都能输出

输出为

对的,我也可以输出

Stubborn 发表于 2021-4-23 11:36:47

while True:
   try:
         each = next(it)
         print(each)
   except StopIteration:
         break

whileTrue:会一直执行里面的语句
try .. except try下面的语句如果发生错误,则立即跳转到except 下面执行。
原则上,两端段代码都是如果不发生错误,执行打印操作
页: [1]
查看完整版本: 关于迭代器