[题目描述]
 请打印输出一个字符金字塔,字符金字塔的特征请参考样例。
输入格式:
 输入一个字母,保证是大写。
输出格式:
 输出一个字母金字塔,输出样式见样例。
样例输入
 C
样例输出
     A
   ABA                                                                ABCBA
来源/分类(难度系数:一星)
完整代码展示:
 a=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']
 for i in range(0,len(b)):
       if b[i]==a:
            c=b[0:i+1]
 d=c[:]
 d.remove(d[-1])
 d.reverse()
 e=0
 s=len(d)
 while e<len(d)+1:
        f=c[0:e+1]
        g=f[0:e]
        g.reverse()
        h=f+g
        space=" "
        sum=""
        for j in range(0,len(h)):
             sum+=h[j]
        print("{}{}".format(space*s,sum))
        s-=1 
        e+=1
代码解释:
 “a=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'] ”,让用户输入所求字符金字塔底边中心的字符。建立一个列表b,用于储存A~Z的26个字符。
 “for i in range(0,len(b)):
        if b[i]==a:
             c=b[0:i+1]
 d=c[:]
 d.remove(d[-1])
 d.reverse()                     ”,依次遍历列表b中的所有元素,查找是否存在与用户输入的字符相同的元素。如果存在,则截取b[0]到该元素的列表切片。复制列表c为d,删除列表d的末尾,然后反转列表d。
 “e=0
  s=len(d)
  while e<len(d)+1:
         f=c[0:e+1]
        g=f[0:e]
        g.reverse()
        h=f+g
        space=" "
        sum=""
        for j in range(0,len(h)):
             sum+=h[j]
        print("{}{}".format(space*s,sum))
        s-=1 
        e+=1                                                 ”,令循环密码子为e,并将其初始值设为0。令s==len(d)。当e<len(d)+1时,令f为c[0:e+1,g为c[0:e]]的列表切片,接着将g反转,连接列表f,g(注意:f在前,g在后,顺序不能随意改变)为h。令space为一个空格键,建立一个空字符串sum,从左至右依次连接列表d中所有元素。连接完成后,打印s个space和sum(两者之间不插入空格),每循环一次,就令s-=1,e+=1(s减1,e加1),直至e==len(d)+1,跳出整个while循环。
运行效果展示:

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









![【C++刷题】[UVA 489]Hangman Judge 刽子手游戏](https://i-blog.csdnimg.cn/direct/7630ecf3cb8d4e17bb7c041d9fade0de.png)









