2012-02-27 153 views
2

因此,我正在創建一個程序來生成帕斯卡的三角形,我知道這個三角形已經死亡,但是我被告知要去做的方式與我的想法不同。我只是需要一些幫助來翻譯開頭,這樣我才能使它翻滾。它基本上是指定一個列表爲空以表示三角形,並且對於從0到高度+ 1的三角形的每一行,分配一個列表爲空以表示該三角形的一個新行。如果新行是行零使新的行成爲[1]。翻譯一些僞代碼

所以我至今在這裏我有麻煩

h=input("enter height") 
mytri=[] 
for i in range(0,h+1): 
    row=[ ] 
    if i==0: 
     newrow=[1] 
    elif newrow==1: 
    #here is where I get lost 

是找出如何判斷新行是零行或列1.還沒有看到這樣的事情在我的短使用Python的經驗。任何幫助是極大的讚賞。

+0

'if i == 0' does not work,or I miss this question? – inspectorG4dget 2012-02-27 05:41:02

+0

您可能想要使用'for'循環來創建大小爲n,n + 1,n + 2 ... n + k的列表並將它們附加到您的主列表中。 – 2012-02-27 05:46:22

+0

在你的代碼的最後一行,你只需要一個'else:' – 2012-02-27 06:40:14

回答

1

在您的第三行中,您正在運行for循環,因此那將是for而不是if

回到你的問題,你需要知道行號,並檢查它是否是一些東西,對嗎?仔細看,代碼中的哪個變量對應於行號?

+0

我?對不起,這是我錯了,而不是..我修正了它 – bardockyo 2012-02-27 06:00:45

+0

絕對正確。所以現在在'i'上運行'if'條件。 – 2012-02-27 06:01:53

+0

所以如果我== 0:但那麼我會說如果我== 0然後新行= 1 newrow = [1]? – bardockyo 2012-02-27 06:04:45