三角形的Python代码

1 python

我有这个任务要做:编写一个名为triangle的过程,它接受一个数字然后打印出一个高度的三角形.就像这样:

      *
     ***
    *****
   *******
Run Code Online (Sandbox Code Playgroud)

我找到的唯一解决方案是这段代码:

def triangle(size):
    spaces=""
    stars=""
    line=""
    for i in range(0,size):
        for j in range(0,(size-1-i)+11-(size-1-i)-i): 
            line=line+" "

        for k in range(0,2*i+1):
            line=line+"*"

        print(line)
        line=""

    triangle(2)
    triangle(3)
    triangle(4)
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有人有更简单的方法来做这个或简化这些代码并使其更具可读性的方法?

Dai*_*arf 9

这是一个单行,可能会证明你的老师是你从互联网复制的:

编辑以下OP编辑:

def triangle(n) : print('\n'.join(map(lambda i:('{:^'+str(2*n)+'}').format('*'*(2*i+1)), range(n))))
Run Code Online (Sandbox Code Playgroud)