[题目描述]
 小理学习了循环,老师给他出了一系列打印图案的练习,该任务是打印用“ ∗ ”组成的箭形图案。
输入格式:
 一行一个整数 n。
输出格式:
 针对输入的 n ,输出用“ ∗ ”组成的箭形。                                                                  
样例输入#1
 3
样例输出#1
       *
     **
   ***
 ****
   ***
     **                                                                                    *
样例输入#2
 4
样例输出#2
         *
       **                                                                                ***
   ****
 *****
   ****
     ***
       **
         *
数据范围:
 对于 100% 的数据,保证 2≤n≤20 。
来源/分类(难度系数:一星)
完整代码展示:
 a=int(input())
 b=1
 c=2*a
 space=" "
 d="*"
 while b<a+2:
        print("{}{}".format(space*c,d*b))
        c-=2
        b+=1
 e=a
 f=2
 while e>0:
        print("{}{}".format(space*f,d*e))
        e-=1
        f+=2
代码解释:
 “a=int(input())
  b=1
  c=2*a
  space=" "
  d="*"               ”,让用户输入箭形图案的头宽a,设置循环密码子为b,并将其初始值设为1。空格键值为c,c==2*a,空格键为space,space=” ”。d为图案组成元素”*”。
 “while b<a+2:
          print("{}{}".format(space*c,d*b))
          c-=2
          b+=1                                                ”,当b<a+2时,打印c个空格键(space),b个d。每循环一次,就令c-=2(c减2),b+=1(b加1)。直至b==a+2,跳出整个while循环。(本次while循环用于绘制箭形图案中间及其上半部分。)
 “e=a
  f=2
  while e>0:
         print("{}{}".format(space*f,d*e))
         e-=1
         f+=2                                               ”,空格键值为f,f初始值为2。设循环密码子为e,并将其初始值设为a。当e>0时,打印f个空格键(space),e个d。每循环一次,就令e-=1(e减1),f+=2(f加2),直至e==0,跳出整个while循环。(本次循环用于打印箭形图案的下半部分。)
运行效果展示:

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



















