0
点赞
收藏
分享

微信扫一扫

python 塔


n = 26;  # 设定塔的层数为26
i = 1

while i <= n: # 对塔每一层按照规律进行构造。
# 首先进行输出空格的操作:对于第i行,字符前面的空格个数为n-i个。
j = 1
while j <= n - i: # ①:第i层需要输出的空格个数 :#注意这里最右边的分号:为原python语法,不要修改 1
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 # 从第i-1个大写字母倒序输出,此处填k的起始位置 2
while k >= 1: # 按照规律1,输出第i-1~第1个大写字母,注意是倒序
c2 = chr(k + ord('A') - 1) # ③:c1的值为第k个大写字母
print(c2, end="")
k = k - 1
print("") # 第i行输出结束,进行换行。
i = i + 1

输出结果:

A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
ABCDEFGHGFEDCBA
ABCDEFGHIHGFEDCBA
ABCDEFGHIJIHGFEDCBA
ABCDEFGHIJKJIHGFEDCBA
ABCDEFGHIJKLKJIHGFEDCBA
ABCDEFGHIJKLMLKJIHGFEDCBA
ABCDEFGHIJKLMNMLKJIHGFEDCBA
ABCDEFGHIJKLMNONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA


举报

相关推荐

0 条评论