def triangles(): line = [1] n = 1 while True: line1 = [1] if n >1: for i in range(1,n): line1.append(line[i-1]+line[i]) line1.append(line[-1]) yield line1 line = line1 n += 1 if n == 11: breakfor line in list(triangles()): print(line) if line == [ [1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] ]: print('测试通过!') else: print('测试失败!')
Traceback (most recent call last):
File "C:\Python-learn\text3.py", line 16, in <module>
for line in list(triangles()):
^^^^^^^^^^^^^^^^^
File "C:\Python-learn\text3.py", line 8, in triangles
line1.append(line[i-1]+line[i])
~~~~^^^
IndexError: list index out of range
rain