2015-10-18 90 views
-5

如何製作這樣的程序。如何製作金字塔python那樣..?

輸入:4

* 
    * * 
    * * 
* * * * 

我很想知道如何做到這一點,這一切都星期被竊聽我,但讓我的老師從來不解釋如何做到這一點這只是一個額外的信用問題! :( http://i.stack.imgur.com/qlyGu.jpg

+7

你有,你試過到目前爲止任何代碼 – JRodDynamite

+1

相關:[在Python ASCII藝術] (http://stackoverflow.com/q/13076194/4279)(有一個答案使用'print()'來打印模式) – jfs

+0

請顯示你的努力,我們不是在這裏解決家庭作業。 –

回答

0

我想這將是有趣的嘗試,這裏是我的解決方案:

PROMPT_MSG = "Please enter a whole number, greater than 1" 
PROMPT_MSG_ERR = "Oops! Please try again.." 

def validate_input(input): 
    try: 
     assert int(input) > 1 
     return int(input) 

    except (ValueError, AssertionError) as e: 
     print PROMPT_MSG_ERR + "\n" 
     main() 

def main(): 
    user_input = raw_input("{0}: ".format(PROMPT_MSG)) 
    valid_input = validate_input(user_input) 

    if valid_input: 
     print "{0}*".format(" " * valid_input) 
     for i in range(0, valid_input)[1:-1]:  
      print "{0}*{1}*".format(
       (" " * (valid_input - i)), 
       (" " * (i + (i-1))), 
      ) 
     print " *" * valid_input 

if __name__ == '__main__': 
    main()