问题1211--基础练习——循环6(输出等腰三角形大写字母图形)

1211: 基础练习——循环6(输出等腰三角形大写字母图形)

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

读入一个字母 ch(字母ch是英文大写A~Z中的一个),输出一个由大写字母和空格构成的等腰三角形的字母图形,如下图(ch为字母G时)
      A
     A B
    A B C
   A B C D
  A B C D E
 A B C D E F
A B C D E F G

说明:最下面那一行左侧的字母是顶格的,前面没有空格。两个字母之间由一个空格隔开。这里图形显示有点歪,标准的看下面样例输出



输入

一行一个字母 ch(字母ch是英文大写A~Z中的一个)

输出

一个由 若干 行大写字母和空格构成的等腰三角形字母图形.实际上,A、B、……、ch,有多少个字母就有多少行

样例输入 Copy

Z

样例输出 Copy

                         A
                        A B
                       A B C
                      A B C D
                     A B C D E
                    A B C D E F
                   A B C D E F G
                  A B C D E F G H
                 A B C D E F G H I
                A B C D E F G H I J
               A B C D E F G H I J K
              A B C D E F G H I J K L
             A B C D E F G H I J K L M
            A B C D E F G H I J K L M N
           A B C D E F G H I J K L M N O
          A B C D E F G H I J K L M N O P
         A B C D E F G H I J K L M N O P Q
        A B C D E F G H I J K L M N O P Q R
       A B C D E F G H I J K L M N O P Q R S
      A B C D E F G H I J K L M N O P Q R S T
     A B C D E F G H I J K L M N O P Q R S T U
    A B C D E F G H I J K L M N O P Q R S T U V
   A B C D E F G H I J K L M N O P Q R S T U V W
  A B C D E F G H I J K L M N O P Q R S T U V W X
 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
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

提示

python要输出26个大写字母,可以先建立一个由26个大写字母组成的列表,然后再处理
a = ['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']
高级一点写法
a = [chr(ch) for ch in range(65,91)]
大写字母'A'对应的ASCII数值是65,'Z'对应的ASCII数值是90.
也可以这样写
a = [chr(ch) for ch in range(ord('A'),ord('Z')+1)]



使用python做,可能要用到的函数
(1)chr(),作用是把ASCII码数值转换成字母;
(2)ord(),作用是把字母转换成ASCII码数值
例如:
for i in range(65,91):
    print(chr(i),end=' ')
结果是:
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++来处理字母就简单一些,在c++中有专门的字符类型char,字符可以直接当作数值来处理(字符对应的ASCII码数值),例如循环中可以直接这样用:
for ( char i='A'; i<='Z'; i++){
        cout<<i;
}

来源/分类