为了账号安全,请及时绑定邮箱和手机立即绑定

如何用python输出下列打印方阵?

如何用python输出下列打印方阵?

鸿蒙传说 2019-05-21 11:07:55
输入n(0
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

importnumpyasnp
defnum(i=[0]):
i[0]+=1
returni[0]
shu_ru=int(input("shuru"))
a=np.zeros((shu_ru,shu_ru))
k=1
all=[]
whileklst=[]
foriinrange(k):
forjinrange(k):
ifi+j==k-1andilst.append((i,j))
ifk%2==0:
lst.reverse()
k+=1
all.append(lst_p)
foriinall:
forjini:
a[j]=num()
当a=3,输出
Out[1]:
array([[1.,3.,4.],
[2.,5.,8.],
[6.,7.,9.]])
当a=4,输出
Out[2]:
array([[1.,3.,4.,10.],
[2.,5.,9.,11.],
[6.,8.,12.,15.],
[7.,13.,14.,16.]])
当a=1,输出
Out[2]:array([[1.]])
代码写的比较直白,没有优化,大概就是从下标跟你的输入值的关系着手分析。
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 873 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号