2012-09-02 61 views
-6

我製作一個程序,其中包含一個整數的單行輸入,打印一個三角形的星號的大小。但我的程序不是這樣工作的。所以你可以看看我的代碼,並可以確定我的錯誤。由於Python乘法錯誤

line = int(raw_input("Number of lines: ")) 
a = line * '*' 
print a 

這是我想產生輸出:

Number of lines: 5 
* 
** 
*** 
**** 
***** 
+8

我們沒有經歷一份家庭作業問題列表,我們...? (證據:看問題歷史。) –

+2

那麼它不是一個功課,我也不是學校的學生我是python的新手,所以我正在嘗試解決不同的問題來增加我的知識。 – jaddy123

+3

@ jaddy123你不覺得你需要一個循環打印嗎? – 2012-09-02 05:28:56

回答

1

由於這是自我的教育,而不是實際的課堂作業,最好用代碼和你在做什麼錯誤的詳細解釋說明。

你大部分在那裏,因爲你有輸入和手段,你可以輸出一定數量的星號。你的問題是你只打印一個最大星號的數量。

您需要循環從1 達到這個數字,每次輸出的是同一種線與越來越長,像:

line = int (raw_input ("Number of lines: ")) 
for i in range (1, line + 1): 
    print i * '*' 

有了這個代碼(進入5),你基本上循環變量i按順序包含{1, 2, 3, 4, 5}range包含在低端,排除在高端,因此爲line + 1)。

在這一循環中,輸出星號的數量,讓您在三角形形態:

pax> python testprog.py 
Number of lines: 5 
* 
** 
*** 
**** 
***** 
+0

好吧謝謝@paxdiablo :) – jaddy123

0

因爲你正在做它來學習Python,我將新增如下:

環路是很容易弄清楚,但大多數人忘記的是確保你從用戶那裏得到正確的輸入!

您向用戶詢問了一個數字。對?
如果用戶按下後者'a'將會發生什麼情況?