输入行数,打印如下字母金字塔图形:
输入:7 打印图形如下:
提示: 打印图案关键是找出其中的规律。 根据打印第几行,算出每行打印多少列。 输出的每一行包括三部分组成:空格、字符串和换行。
n=eval(input())
list1=list('ABCDEFGHIJKLMNO') #正序输出的部分
list2=list('ONMLKJIHGFEDCBA') #倒序输出的部分
for i in range(1,n+1): #最外循环为打印行
for j in range(n-i): #打印空格
print(' ',end='')
for k in range(1): #打印倒序部分,循环一次
code1 = ''.join(list2[-i:]) #逆向输出并从列表加入字符串
print(code1,end='')
for l in range(1): #打印正序部分
code2 = ''.join(list1[1:i])
print(code2,end='')
print('')
每部分原理写在注释了
也可以用ASCII代码编写,之后再更新。。
宝宝们求个三连。。
10.25更新:ASCII代码版
原理是分解为空格,正序,倒序三个部分三角形分别循环。
m=eval(input())
for i in range(m):
for j in range(m-i-1):
print(' ',end='')
for l in range(i):
print(chr(ord('A')+i-l),end='')
for k in range(i+1):
print(chr(ord('A')+k),end='')
print('')
更多推荐
python基础经典问题-字母金字塔
发布评论