猿问

except StopIteration as e: 这句代码为什么老显示出错

def fib(max):

    n,a,b=0,0,1

    while(n<max):

        print(b)

        a,b=b,a+b

        n=n+1

    return'done'

g=fib(6)

while true:

    try:

        x=next(g)

        print('g:',x)

     except StopIteration as e:

        print('Generator return value:',e.value)

        break

错误原因:

 except StopIteration as e:

                             ^

IndentationError: unindent does not match any outer indentation level


xiaoxiaomengmeng
浏览 4206回答 1
1回答

Nelson_Zhao

明显的编译语法错误,空格多打了。except前面多打了一个空格。我复制到IDE里面果然是多可一个空格。看下图删掉空格,发现还有一个错误。Python里面True和False都是要首字母大写的。需要把while true:改为while True:
随时随地看视频慕课网APP

相关分类

Python
我要回答