python基础经典问题-字母金字塔

输入行数,打印如下字母金字塔图形:

输入:7 打印图形如下:

python基础经典问题-字母金字塔_第1张图片

提示: 打印图案关键是找出其中的规律。 根据打印第几行,算出每行打印多少列。 输出的每一行包括三部分组成:空格、字符串和换行。

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,开发语言,后端,经验分享,anaconda)