交作业,是参考楼下的某个同学的。
Topic source第一轮: 长度为1 list的range只有0 所以归为else result[0]就输出[1]但接下来append了1 所以第二轮就是[1,1]
第二轮: 长度为2 所以range有0 1 , 0先得出result[0] , 1符合if i>=1所以走result[1-1]+result[1] 得出2 目前是[1,2] 加上append(1)所以第三轮结果为[1,2,1]
第三轮: 长度为3 range为0 1 2, 0和同上 而1则result[1-1]+result[1] list的第一个元素和第二个元素相加得出3, 2则是result[2-1]+result[2]为3 最后通过append 第四轮结果为1,3,3,1
因为这道题想了很久还是没理解 所以将细节步骤写在这里 想问下是否正确....
- 1
空心菜的烦恼777
想了半天,第一个是range的取值从0开始,这样的话需要 i >=1 即第二个的时候会效。难处理的点得想明白就是,第二轮循环进来的时候,这个时候result的确还是长度为1,i取值为0的时候,L[0]=result[0]=1 reslut即为[1,1] 第三轮都是时候,就是 完全理解了 i取0 1 2 则就是 result = [result[0], result[0]+result[1], 1]