阅读背景:

第二届全国大学生算法设计与编程挑战赛冬季赛-题解python

来源:互联网 
A——塔(代码补全题)

在这里插入图片描述
解题思路:
在这里插入图片描述

代码如下:

''' 观察题目样例给出的高为5层的塔,可以得出以下几个规律 对于一个高为n层的塔而言,首先设最上面一层(顶层)为第一层。 1. 对于第i层而言,其字符的排列规律为:大写字母表中从第1个字符(A)~第i个字符,后又倒序从第i-1个字符~第1个字符(A)。 2. 第1~n-1层每层前都有空格,具体而言,对于第i行,字符前面的空格个数为n-i个。 找出以上规律后,我们就可以根据这些规律构造出答案:层高26的塔。 TIPS: 大写字母'A'为大写字母表第一个字符 对于大写字母表中第i个字符,可以使用'A'+i-1得到。 例如:第5个字符为'E',亦即为:'A'+5-1 ''' n=26;# 设定塔的层数为26 i=1 while i<=n:# 对塔每一层按照规律进行构造。 # 首先进行输出空格的操作:对于第i行,字符前面的空格个数为n-i个。 j=1 while j<=n-i :#注意这里最右边的分号:为原python语法,不要修改 print(" ",end="") j=j+1 h=1 while h<=i:# 按照规律1,输出第1~第i个大写字母。 c1=chr(h+ord('A')-1)# 第j个大写字母为'A'+j-1 print(c1,end="")# 输出第j个大写字母 h=h+1 k=h-2 #或者k=i-1 while k>=1:# 按照规律1,输出第i-1~第1个大写字母,注意是倒序 c2=chr(k+ord('A')-1) print(c2,end="") k=k-1 print("")# 第i行输出结束,进行换行。 i=i+1 B——日记(直接输出结果即可) ''' 观察题目样例给出的高为5层的塔,可以得出以



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: