2015-10-18 108 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()