python 生成器生成杨辉三角的方法(必看)
网络编程
用Python写趣味程序感觉??诺模?2幌吕?/p>
#生成器生成展示杨辉三角 #原理是在一个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)
以上这篇python 生成器生成杨辉三角的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
python非递归全排列实现方法
刚刚开始学习python,当前看到了函数这一节。结合数组操作,写了个非递归的全排列生成。原理是插入法,也就是在一个有n个元素的已有排列中,后加
Python 文件处理注意事项总结
Python文件处理注意事项总结文件处理在编程中是常见的操作,文件的打开,关闭,重命名,删除,追加,复制,随机读写非常容易理解和使用。需要注
一个基于flask的web应用诞生(1)
基于flask的web应用的诞生,供大家参考,具体内容如下Flask是一个非常优秀的web框架,它最大的特点就是保持一个简单而易于扩展的小核心,其他的都有
编辑:568数据
标签:递归,数组,位置,是在,文件