我需要创建一个函数,在给定边长的情况下得到菱形。菱形应该由0和1的数组组成
到目前为止,我知道了如何制作钻石,我不知道如何为不同的边长编写一个函数
到目前为止,我已经: 边长为3
import numpy as np
#line1
a=np.zeros(3+2)
a[3-1]=1
#line2
b=np.zeros(3+2)
b[3-2]=1
b[3]=1
#line3
c=np.zeros(3+2)
c[3-3]=1
c[3+1]=1
print(np.concatenate((a,b,c,b,a),axis=1).reshape(5,5))
如何为不同的长度编写函数
同样,如果给定长度1,它应该返回[[1]]
任何反馈都将不胜感激
更新:我认为一个循环可以计算出行数
我用了更长的方法,这样我就可以扩展函数来处理其他几何图形
对于N=5:
打印(diamondarray(5))
对于N=8:
打印(diamondarray(8))
可以使用水平和垂直图案的交点来执行此操作:
从视觉上看,这与行和列之间的相交数字相等相对应:
对于N=7:
对于N=8:
如果要填充菱形,请使用
diamond = (H<=V)*1
相关问题 更多 >
编程相关推荐