python 生成器生成楊輝三角的方法(必看)
更新時(shí)間:2017年04月10日 09:00:12 投稿:jingxian
下面小編就為大家?guī)硪黄猵ython 生成器生成楊輝三角的方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
用Python寫趣味程序,停不下來
#生成器生成展示楊輝三角 #原理是在一個(gè)2維數(shù)組里展示楊輝三角,空的地方用0,輸出時(shí),轉(zhuǎn)化為' ' def yang(line): n,leng=0,2*line - 1 f_list = list(range(leng+2)) #預(yù)先分配,insert初始胡會(huì)拖慢速度,最底下一行,左右也有1個(gè)空格 #全部初始化為0 for i,v in enumerate(f_list): f_list[v] = 0 ZEROLIST = f_list[:] #預(yù)留一個(gè)全零的數(shù)組 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 #計(jì)算一行中第一個(gè)1的位置 end = start + 2*n #計(jì)算一行中最后一個(gè)1的位置 while start <= end: re_list[start] = f_list[start - 1] + f_list[start+1] #不管是不是1,該位置的數(shù)字,都是上一行該位置的左右兩個(gè)數(shù)的和 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 生成器生成楊輝三角的方法(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用BeautifulSoup爬取網(wǎng)頁數(shù)據(jù)的操作步驟
在網(wǎng)絡(luò)時(shí)代,數(shù)據(jù)是最寶貴的資源之一,而爬蟲技術(shù)就是一種獲取數(shù)據(jù)的重要手段,Python 作為一門高效、易學(xué)、易用的編程語言,自然成為了爬蟲技術(shù)的首選語言之一,本文將介紹如何使用 BeautifulSoup 爬取網(wǎng)頁數(shù)據(jù),并提供詳細(xì)的代碼和注釋,幫助讀者快速上手2023-11-11matplotlib制作雷達(dá)圖報(bào)錯(cuò)ValueError的實(shí)現(xiàn)
這篇文章主要介紹了matplotlib制作雷達(dá)圖報(bào)錯(cuò)ValueError的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01pytorch中獲取模型input/output shape實(shí)例
今天小編就為大家分享一篇pytorch中獲取模型input/output shape實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Cpython編譯后再使用Pyinstaller打包的詳細(xì)教程
pyinstaller是一個(gè)第三方庫,它能夠在Windows、Linux、 Mac OS X 等操作系統(tǒng)下將 Python 源文件打包,通過對源文件打包,這篇文章主要介紹了Cpython編譯后再使用Pyinstaller打包的詳細(xì)教程,需要的朋友可以參考下2023-11-11Python3編碼問題 Unicode utf-8 bytes互轉(zhuǎn)方法
今天小編就為大家分享一篇Python3編碼問題 Unicode utf-8 bytes互轉(zhuǎn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10