python基础练习题(题目 打印出杨辉三角形前十行。)
2022-02-22 21:36 第二个卿老师 阅读(1159) 评论(0) 编辑 收藏 举报day38
---------------------------------------------------------------
实例061:杨辉三角
题目 打印出杨辉三角形前十行。
分析:查了一下,杨辉三角规律,每行多一个数,每行的值等于上一行相邻的值相加,其中边角值可以看为0,即一直为1,所以可以用列表套列表来做
代码如下:
for i in range(1,10): for k in range(10-i): print(" ", end="") print(b) c = b.copy() b.clear() for j in range(len(c)+1): if j==0 or j ==len(c): b.append(a[0]+c[0]) else: b.append(c[j]+c[j-1])
看看答案:
def generate(numRows): r = [[1]] for i in range(1,numRows): r.append(list(map(lambda x,y:x+y, [0]+r[-1],r[-1]+[0]))) return r[:numRows] a=generate(10) for i in a: print(i)
看了半天才看懂,是先生成两个列表,再由map调用lamba表达式把两个列表相加,得到下一行列表,点赞