[题目描述]
 小理是个画家,他希望有一天他的画能让心仪的她看到。
 只是后来她有了他,他却只有他的画,他望着他的画,默默的发呆。
 可惜做题的你,画不出他画的她,所以,我们只好画点简单的画,或许有一天,你就会遇到画里她/他吗?
 因此我们规定画画的内容:输入一个正整数 n(n为奇数),输出高度为 n 的菱形,例如 n=5 时,输出
    *
***
*****
***
   *
输入格式:
 输入共 T+1 行。
 第一行输入一个整数 T ,代表有 T 组测试数据。
 每组数据占 1 行,包括一个整数 n。
输出格式:
 对于每组数据,输出对应的图形,每行行末不要有空格。
样例输入
 2
 1
 3
样例输出
 *
   *
 * * *
    *
数据范围:
 对于 100% 的数据,保证 1≤n≤49,且 n 为奇数 
来源/分类(难度系数:一星)
完整代码展示:
 # coding=utf-8
 l=int(input())
 m=[]
 for i in range(l):
       n=int(input())
       m.append(n)
 for j in range(0,len(m)):
      a=m[j]
      space=' '
      b=int((a+1)/2-1)
      c=1
      d=0
      e="*"
      while d<(a+1)/2:
             print("{}{}".format(space*b,e*c))
             c+=2
             b-=1
             d+=1
     f=1
     g=a-2
     h=0
     while h<(a-1)/2:
            print("{}{}".format(space*f,e*g))
            f+=1
            g-=2
            h+=1
代码解释:
 “l=int(input())
  m=[]
  for i in range(l):
        n=int(input())
        m.append(n) ”,让用户输入需要测试的数据组数。建立一个空列表m,让用户输入每组需要测试的数据n,并将其存入列表m中,循环l次。
 “for j in range(0,len(m)):
        a=m[j]
        space=' '
        b=int((a+1)/2-1)
        c=1
        d=0
        e="*"
        while d<(a+1)/2:
               print("{}{}".format(space*b,e*c))
               c+=2
               b-=1
               d+=1
       f=1
       g=a-2
       h=0
       while h<(a-1)/2:
              print("{}{}".format(space*f,e*g))
              f+=1
              g-=2
              h+=1                                                 ”,依次遍历列表m中所有元素,令a=m[j],space=” ”,为一个空格,同时令b=int((a+1)/2-1),c=1,d=0,e=”*”。当d<(a+1)/2,打印b个space,c个e,两者之间没有空格;每打印一次,就让c加2,b减1,d加1,直至d等于(a+1)/2,跳出该while循环(此处while循环用于绘制上下金字塔的上半部分)。令f等于1,g等于a-2,h等于0,当h<(a-1)/2时,打印f个space,g个e,两者之间同样没有空格;每打印一次,就让f加1,g减2,h加1,直至h等于(a-1)/2,,跳出该while循环(此处while循环用于绘制上下金字塔的下半部分)。直至遍历完列表m中所有元素,循环结束。
 (本题解题核心:二次循环的运用,循环与规侓的认识理解)
运行效果展示:

 
 
(声明:以上内容均为原创)



















