def triangles(): s=[1] while True: yield s s=[s[i]+s[i+1] for i in range(len(s)-1)] s.insert(0,1) s.append(1)
你好,list长度为1时,s[i+1]会越界访问吧 (有点疑惑为什么不报错??) 长度为1的时候应该做个特殊处理比较合适
因为range(0) 生成 (0,0),所以list长度为1时,s[i+1]不会报错
Sign in to make a reply
畋恬天
def triangles(): s=[1] while True: yield s s=[s[i]+s[i+1] for i in range(len(s)-1)] s.insert(0,1) s.append(1)