怎么print一个间隔数字的三角呢?

输入一个正整数后,怎么用For loop输出一个n行的三角形呢?像下面这样
0
1 0
0 1 0
1 0 1 0
……


a=[]
for i in range(5):
    if i==0:
        a.append(i)
    elif i%2==0:
        a.insert(0,0)
    else:
        a.insert(0,1)
    for i in a:
        print(i,end=' ')
    print()

我尝试写了一下,能print出你想要的三角,但是每行是以列表的形式体现的,就是每个数字中间都有逗号,每行开头和结尾都是中括号,而且代码也比较冗长,如果觉得可以,我觉得还能在用函数封装一下,就看你啦


number = [0]
n = int(input('请输入层数:'))
if n == 1 :
    print(number)
elif n == 2 :
    print(number)
    number.insert(0 , 1)
    print(number)
elif n > 1 :
    if n % 2 == 1 :
        for i in range (0 , n // 2) :
            print (number)
            number.insert(0 , 1)
            print(number)
            number.insert(0 , 0)
        print(number)
    elif n % 2 == 0 :
        for i in range (0 , n// 2) :
            print(number)
            number.insert(0 , 1)             
            print(number)
            number.insert(0 , 0)