[题目描述]
小理学习了循环,老师给他出了一系列打印图案的练习,该任务是打印用“ ∗ ”组成的箭形图案。
输入格式:
一行一个整数 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循环。(本次循环用于打印箭形图案的下半部分。)
运行效果展示:
(声明:以上内容均为原创)