资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
知识点:chr(i)函数,可以将数字i转换为相对于的ASCII码的字符字母
思路:通过for循环的嵌套来达到控制输出行数和列数的目的,通过计算并运用chr函数来输出相对应的字母。
while True:
try:
m,n = map(int,input().split())
for i in range(1,m+1): #控制行数
for j in range(1,n+1): #控制列数
if j==n:
print(chr(abs(i-j)+65),end = '\n')
else:
print(chr(abs(i-j)+65),end = '')
except:
break
方法二(非满分):
这个方法通过不断的切割列表来达到字母顺序的目的。然而不断的使用循环大大增加的运行的时间。供参考
ingwen = ['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']
hang,lie = map(int,input().split())
Yingwen = Yingwen[0:lie]
for i in range(hang):
x = Yingwen[0:i+1]
y = Yingwen[1:lie-i]
x.reverse()
z = list(x+y)
for j in range(len(z)):
print(z[j],end='')
if j==len(z)-1:
print("")