#生成器生成展示杨辉三角#原理是在一个2维数组里展示杨辉三角,空的地方用0,输出时,转化为' 'def yang(line): n,leng=0,2*line - 1 f_List = List(range(leng+2)) #预先分配,insert初始胡会拖慢速度,最底下一行,左右也有1个空格 #全部初始化为0 for i,v in enumerate(f_List): f_List[v] = 0 ZEROList = f_List[:] #预留一个全零的数组 f_List[leng//2] = 1 #初始的第一行 re_List =f_List[:] n=0 while n < line: n = n+1 yIEld re_List f_List,re_List = re_List[:],ZEROList[:] start = leng//2-n #计算一行中第一个1的位置 end = start + 2*n #计算一行中最后一个1的位置 while start <= end: re_List[start] = f_List[start - 1] + f_List[start+1] #不管是不是1,该位置的数字,都是上一行该位置的左右两个数的和 start = start + 1 return 'done'def printList(L): n = 0 p_str = '' for value in L: ch = str(value) if value == 0: ch = ' ' p_str = p_str + ch print(p_str)for value in yang(8): printList(value)@H_419_0@以上这篇python 生成器生成杨辉三角的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 总结
以上是内存溢出为你收集整理的python 生成器生成杨辉三角的方法(必看)全部内容,希望文章能够帮你解决python 生成器生成杨辉三角的方法(必看)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)