溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用python生成楊輝三角形的示例代碼

發(fā)布時(shí)間:2020-10-09 01:33:03 來(lái)源:腳本之家 閱讀:147 作者:蜜罐子公子 欄目:開(kāi)發(fā)技術(shù)

楊輝三角楊輝 定義如下:

     1
    / \
    1  1
   / \ / \
   1  2  1
  / \ / \ / \
  1  3  3  1
 / \ / \ / \ / \
 1  4  6  4  1
 / \ / \ / \ / \ / \
1  5  10 10 5  1

把每一行看做一個(gè)list,試寫(xiě)一個(gè)generator,不斷輸出下一行的list:

def triangles():
  L = [1]
  while True:
    yield L
    
    M=L[:]#復(fù)制一個(gè)list,這樣才不會(huì)影響到原有的list。不然results里的每個(gè)列表的末尾會(huì)為0.
    M.append(0)
    L = [M[i-1]+M[i] for i in range(len(M))] 
    
n =0
results = []
for t in triangles():
  
  print(t)
  results.append(t)
  print(results)
  n = n +1
  if n == 10:
    break

ps:如何實(shí)現(xiàn)心

def printlove(start,length,midnumber=0,flag=31):
  for i in range(31):
    if i<start or i>start+length-1 and i<15-(midnumber-1)/2 or i>15+(midnumber-1)/2 and i<31-start-length or i> 30-start or i==flag:
      print " ",
    else:
      print "*",
  print ""
for i in range(16):
  if i ==0:
      printlove(4,3)
  elif i==1:
      printlove(1,9)
  elif i>=2 and i<=5:
      printlove(0,i+10)
  elif i==6:
      printlove(1,7,7,15)
  elif i>=7 and i<=8:
      printlove(i-5,6,5-(i-7)*2)
  elif i==9:
      printlove(5,6,1)
  elif i==10:
      printlove(8,6,1)
  elif i==15:
      printlove(15,1,1)
  else:
      printlove(i-1,16-i,1)

實(shí)現(xiàn)的效果如下:

使用python生成楊輝三角形的示例代碼

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI