首页 > 解决方案 > 如何在python中打印以下模式?

问题描述

我想打印这个图案

         1
        12A
       123BA
      1234CBA
     12345DCBA
    123456EDCBA
   1234567FEDCBA
  12345678GFEDCBA
 123456789HGFEDCBA
12345678910IHGFEDCBA

我的这种模式的代码:

n=11
a=65
for i in range(1,n):
    for j in range(1,n-i):
        print(end=' ')
    for j in range(1,i+1):
        print(j,end='')
    for j in range(i-1,0,-1):
        ch=chr(a)
        print(ch,end='')
        a=a+1
    print()

但这是打印:

         1
        12A
       123BC
      1234DEF
     12345GHIJ
    123456KLMNO
   1234567PQRSTU
  12345678VWXYZ[\
 123456789]^_`abcd
12345678910efghijklm

我认为问题在于最后一个 for 循环,但我无法纠正它。有人可以帮忙吗?提前致谢。

标签: pythonpython-3.x

解决方案


这是一个小的改进。

n=11
a=65
for i in range(1,n):
    for j in range(1,n-i):
        print(end=' ')
    for j in range(1,i+1):
        print(j,end='')
    for j in range(i-2,-1,-1):
        if i != 1:
            ch=chr(a+j)
            print(ch,end='')
    print()

推荐阅读