所以我一直在試圖創建一個程序,提示用戶輸入的行數,然後程序打印出輸入行數的菱形。Python 3.4:創建一個星號鑽石
這是什麼程序應該做的事:(image)
這是我的代碼看起來像
def main():
ROWS = get_input()
draw_pattern(ROWS)
def get_input():
return int(input("Enter the number of rows (or -1 or -99 to quit): "))
def draw_pattern(ROWS):
if ROWS == -1 or ROWS == -99:
quit
else:
for x in range(0,(int)((ROWS/2)+1),1):
print ((int)((ROWS/2)-(2*x+1)/2)*" " + (2*x+1) * '*')
for t in range((int)(x),0,-1):
print((int)((ROWS/2)-(2*t-1)/2)*" " + (2*t-1) * '*')
main()
這是它結束了做:
Enter the number of rows (or -1 or -99 to quit): 7
*
***
*
*****
***
*
*******
*****
***
*
那麼什麼我做錯了嗎?我認爲這是我的for循環,使行不正確排列。任何人都可以給我一點幫助嗎?謝謝。
你有一個壓痕問題,你的第二個'for'循環是不正確縮進。什麼是「退出」? – AChampion
好的,我會檢查縮進。退出是,如果在提示輸入行數時輸入-1或-99,則會停止程序。 代碼運行,但不是我想讓它運行的菱形圖案,我不知道爲什麼。我在Windows 7上。 – Altairis
它應該是'quit()' –