python杨辉三角 淩亂°似流年 2022-07-15 13:51 201阅读 0赞 题目:输出杨辉三角的前十行 提示:使用zip(),yield 代码: def trangle(n): l=[1] def _trangle(last): l=[sum(i) for i in zip([0]+last,last+[0])]<span style="white-space:pre"> </span>##算法重点 return l for i in range(1,n+1): yield l<span style="white-space:pre"> </span>##生成迭代器 l=_trangle(l)<span style="white-space:pre"> </span> for i in trangle(10): print (i) 算法思想: 我们小学就知道杨辉三角它的形式是: \[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\] 上一行的i与i+1相加成为下一行的i+1,且每行的个数与行数相等,所以我们找到了一个规律 由\[1\]得到\[1,1\] 可以通过 \[0,1\]+\[1,0\] 由\[1,1\]得到\[1,2,1\] 可以通过 \[0,1,1\]+\[1,1,0\] 至此我们找到了算法,正好python中的内建函数zip可以帮助我们实现两个列表对应数的相加,所以算法表示为 l=[sum(i) for i in zip([0]+last,last+[0])] 最后感叹一下python的简洁。
相关 杨辉三角 一、什么是杨辉三角 > 杨辉三角:是二项式系数在三角形中的一种几何排列。 > 杨辉三角的每个数等于它上方两数之和。 > ![在这里插入图片描述][20201206 末蓝、/ 2022年12月26日 15:26/ 0 赞/ 326 阅读
相关 python-杨辉三角 def yanghui(m): n,b=0,[1] while n<m: yield(b) b=[1] 逃离我推掉我的手/ 2022年08月19日 08:27/ 0 赞/ 189 阅读
相关 python杨辉三角 题目:输出杨辉三角的前十行 提示:使用zip(),yield 代码: def trangle(n): l=[1] def _trangle(l 淩亂°似流年/ 2022年07月15日 13:51/ 0 赞/ 202 阅读
相关 杨辉三角 package day05; import java.util.Scanner; /\\ \ java基础:键盘录入/二维数组 \ Author: \ Desc 蔚落/ 2022年06月07日 14:13/ 0 赞/ 316 阅读
相关 python杨辉三角 输入n,输出n行杨辉三角 row_one=[1] row_two=[1] n=int(input()) for x in row_one: 小咪咪/ 2022年06月02日 09:13/ 0 赞/ 170 阅读
相关 杨辉三角 题目描述 按要求输入如下格式的杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 最多输出10层 逃离我推掉我的手/ 2022年05月05日 09:56/ 0 赞/ 330 阅读
相关 杨辉三角 import java.util.Scanner; public class Main \{ public static void main(String\[\] ar 柔光的暖阳◎/ 2022年04月22日 08:38/ 0 赞/ 280 阅读
相关 杨辉三角 打印杨辉三角 代码: import java.util.; public class test1 { / 输出杨辉三角 / 太过爱你忘了你带给我的痛/ 2021年09月23日 08:58/ 0 赞/ 541 阅读
相关 杨辉三角 \include<stdio.h> void f(int a\[\]\[10\],int n) \{ int i=0,j=0; for(i=0;i<n; 港控/mmm°/ 2021年06月24日 13:58/ 0 赞/ 540 阅读
还没有评论,来说两句吧...