我製作一個程序,其中包含一個整數的單行輸入,打印一個三角形的星號的大小。但我的程序不是這樣工作的。所以你可以看看我的代碼,並可以確定我的錯誤。由於Python乘法錯誤
line = int(raw_input("Number of lines: "))
a = line * '*'
print a
這是我想產生輸出:
Number of lines: 5
*
**
***
****
*****
我製作一個程序,其中包含一個整數的單行輸入,打印一個三角形的星號的大小。但我的程序不是這樣工作的。所以你可以看看我的代碼,並可以確定我的錯誤。由於Python乘法錯誤
line = int(raw_input("Number of lines: "))
a = line * '*'
print a
這是我想產生輸出:
Number of lines: 5
*
**
***
****
*****
由於這是自我的教育,而不是實際的課堂作業,最好用代碼和你在做什麼錯誤的詳細解釋說明。
你大部分在那裏,因爲你有輸入和手段,你可以輸出一定數量的星號。你的問題是你只打印一個行最大星號的數量。
您需要循環從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
*
**
***
****
*****
好吧謝謝@paxdiablo :) – jaddy123
因爲你正在做它來學習Python,我將新增如下:
環路是很容易弄清楚,但大多數人忘記的是確保你從用戶那裏得到正確的輸入!
您向用戶詢問了一個數字。對?
如果用戶按下後者'a'將會發生什麼情況?
我們沒有經歷一份家庭作業問題列表,我們...? (證據:看問題歷史。) –
那麼它不是一個功課,我也不是學校的學生我是python的新手,所以我正在嘗試解決不同的問題來增加我的知識。 – jaddy123
@ jaddy123你不覺得你需要一個循環打印嗎? – 2012-09-02 05:28:56