Python 模式

标签 python loops design-patterns conditional-statements

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

以下是代码:

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

第一列中的空间。

怎么去掉???

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

最佳答案

我认为这有点干净:

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

关于Python 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62365607/

相关文章:

python - 将列表元素与列表列表元素进行比较并有条件地创建新列表

python - 在 Python 脚本中打开终端并在新打开的终端中执行终端命令

c# - 是否可以在 C# 中遍历存储在服务器上的所有 session

loops - 如何以函数式风格迭代二维向量?

java - 如何在没有单例模式的情况下强制构造函数只调用一次?

python - Python 中的 os.walk 返回一个空列表

python - 如何从 jupyter 笔记本中的文件夹访问文件名

java - 如何用Java搜索文件并返回值?

c# - 带反射 C# 的简单工厂

javascript - 原型(prototype)模式和 "this"