首页 > 解决方案 > Python 模式

问题描述

我不知道该怎么做,我一直遇到问题。

以下是代码:

rows = int(input())

for i in range(1,rows):
    for j in range(1,i+1):
        print(" ", end='')

    for j in range(i, rows+1):
        print(j, end='')
    print()

for i in range(rows,0,-1):
    for j in range(1,i+1):
        print(" ", end='')

    for i in range(i, rows+1):
        print(j,end='')
        j = j+1   
    print()
**My Output**
 12345
  2345
   345
    45
     5
    45
   345
  2345
 12345
**Expected Output**
12345
 2345
  345
   45
    5
   45
  345
 2345
12345

第一列中的空间。

怎么去掉????

这里,rows = 6(作为用户的输入)

标签: pythonloopsdesign-patternsconditional-statements

解决方案


我认为这更清洁:

lst = [str(i) for i in range(1, rows+1)]
for i in range(rows):
    print((" "*i) + "".join(lst[i:]) )

for i in range(rows-2, -1, -1):
    print((" "*i) + "".join(lst[i:]) )

这导致:

12345
 2345
  345
   45
    5
   45
  345
 2345
12345

推荐阅读