遇到的测试笔试题-打印菱形

键盘就收数字n ,输出2*n+1行的菱形

如:n=2

打印为:  *

           ***

             *

代码为:

 1 def printUpTriangle(x,y):
 2     print(" "*(y+1-x)+"*"*(2*x-1)+" "*(y+1-x))
 3 
 4 def printDownTriangle(x,y):
 5     print(" "*(x-y-1)+"*"*(2*((2*y+1)-x)+1)+" "*(x-y-1))
 6 
 7 
 8 n = int(raw_input("please input num: "))
 9 
10 for i in range(1,(2*n+2)):
11     if(i<=n):
12         printUpTriangle(i,n)
13     elif(i==(n+1)):
14         print("*"*(2*n+1))
15     elif(i>n+1):
16         printDownTriangle(i,n)

 

posted @ 2013-03-29 23:37  悠扬小调  阅读(240)  评论(0编辑  收藏  举报