Python|杨辉三角
引言杨辉三角(也称帕斯卡三角)相信很多人都不陌生,它是一个无限对称的数字金字塔,从顶部的单个1开始,下面一行中的每个数字都是上面两个数字的和。在互联网中关于用python打印出杨辉三角也有众多解答,但大多的解答都较为粗略、代码复杂,下面小编用简单的方法做一个详细的解答。问题描述打印出杨辉三角的前十行实例:输入:3输出:11 11 2 1
解决方案首先定义一个函数,第一行数字是1,下面一行中每个数字是上面两个数字的和,这是一个反复实现,即要用到循环。下面一行与上一行有一定的联系,将每一行写成一个列表,用索引对其中的数字进行转变,使用map()函数对指定序列做映射。最后调用cat函数,打印出前十行。def cat(num):r=[[1]]for i in range(1,num):r.append(list(map(lambda x,y:x+y,[0]+r[1],r[-1]+[0])))return r[:num]a=cat(10)for i in a:print(i)打印出的结果:
结语通过使用map()函数结合循环解答,主要掌握杨辉三角的规律。在解决一些算法题时会经常通过使用函数和循环来解答,可见,学好循环的重要性。循环虽好用于解题,但也不可一直循环,要适时跳出。实习编辑:欧洋责编 :猫先生能力越强,责任越大。实事求是,严谨细致。微信号:算法与编程之美
赞 (0)