2021-04-03

这道题的陷进很多,注意输出的空格

n=int(input())
arr=[[0 for j in range(n)] for i in range(n)]
num=int((1+n)*n/2)
i=0
j=0
for k in range(1,num+1):
    arr[i][j]=k
    if k==num:
        break
    if i==0:
        i=j+1#注意这里必须是先写i,然后写j
        j=0
    else:
        i=i-1
        j=j+1

for i in range(n):
    for j in range(n):
        if arr[i][j]==0:
            continue
        if j!=n-i-1:#这里是n-i-1 不是n-1
            print(arr[i][j],end=" ")
        else:
            print(arr[i][j],end="")
    if i!=n-1:
        print()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值