def triangles(): b = [1] while True: yield b b = [1] + [b[i] + b[i+1] for i in range(len(b)-1)] + [1] n = 0 for t in triangles(): print(t) n = n + 1 if n == 10: break
看了相关资料 遇到yield
语句返回,那么只输出第一行的话,程序是执行b = [1] 一直往下到了yield b 就会返回吗?进行第二行的时候 是顺着刚才yield b 的下一句即
b = [1] + [b[i] + b[i+1] for i in range(len(b)-1)] + [1]
执行吗?
小白对于这个函数不断执行的顺序有点晕,请大神不吝赐教,谢谢。
原来我叫小土慕课网给我改了名字
相关分类