在python里输出数字方阵

输入整数n,1<=n<=10,输出n行n列图案。
输入样例:
5
输出样例:
1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
1 2 3 4 5
我的尝试只能把第一行和第一列打出来:
n = int(input())
t = n-1
for i in range( n - 1 ):
print('%4d'%(n-t),sep="",end=" ")
for j in range( n ):
print('%4d'%(n-t))

求大神指点> <

假设行为r,列为c,那个每个位置的值为min(r,c)

n = int(input())
for i in range( n ):
    for j in range( n ):
        num = i
        if i > j:
            num = j
        print('%4d'%(num+1), end = ' ')
    print('')

之前的没考虑分隔符和回车,已经补上了
另外对于这样的阵列输出,通用的方式是构造一个根据坐标输出值的函数,如下

def getPix(r, c):
    num = r
    if num > c:
        num = c
    return '%4d'%(num+1)

if __name__ == '__main__':
    for i in range(r):
        for j in range(c):
            print( getPix( i, j ), end = ' ' )
        print('')