[题目描述]
输入一个正整数n,请使用大写字母拼成一个这样的三角形图案(参考样例输入输出):三角形图案的第1行有1个字母,第2行有2个字母,以此类推;在三角形图案中,由上至下、由左至右依次由大写字母A−Z填充,每次使用大写字母Z填充后,将从头使用大写字母A填充。
输入:
输入一行,包含一个正整数n。约定2≤n≤40。
输出:
输出符合要求的三角形图案。注意每行三角形图案的右侧不要有多余的空格。
样例输入1
3
样例输出1
A
BC
DEF
样例输入2
7
样例输出2
A
BC
DEF
GHIJ
KLMNO
PQRSTU
VWXYZAB
来源/分类(难度系数:一星)
完整代码如下:
a=int(input())
b=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
c=1
d=b[:]
b=b+d
while c<a+1:
sum=''
for i in range(c):
sum+=b[i]
print(sum)
for j in range(c):
b.append(b[0])
del b[0]
c+=1
代码解释:
“a=int(input()) ”,让用户输入三角形的底边长。
“b=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] ”,导入构成三角形的元素列表。
“c=1
d=b[:]
b=b+d ”,设置循环密码子c的起始值为1。复制列表b为d,然后合并列表b与d为新列表b,保证i值在列表b的长度范围内。
“while c<a+1:
sum=''
for i in range(c):
sum+=b[i]
print(sum)
for j in range(c):
b.append(b[0])
del b[0]
c+=1 ”,先打印列表b的前c位(c的起始值为1),接着在列表b的末尾添加一个b[0],接着删除列表b开头的b[0],以此循环c次(达到循环列表b中所有元素的目的)。循环结束后,令c=c+1(c叠加),直至c=a,循环结束。
运行效果展示: