我使用了numpy和matplotlib两个库,先使用numpy里的array构建出棋盘的第一、二行可以循环利用的部分矩阵(第一、二行只需要取前4个即可),再最终合并成8*8矩阵。矩阵里的元素我用的是(0,0,0)黑色和(255,255,255)白色,在合并矩阵时一定不能拆开两个元组里的三个数字,不然‘RGB’(红绿蓝)值不是黑或白。
上代码:
import matplotlib.pyplot as plt import numpy as np b1 = np.array([[(0,0,0),(255,255,255),(0,0,0),(255,255,255)]])#构建第一行的一半 b2 = np.array([[(255,255,255),(0,0,0),(255,255,255),(0,0,0)]])#构建第二行的一半 b3=np.vstack((b1,b2))#组合成可循环利用的部分 b4=np.vstack((b3,b3))#构造出棋盘的1/4 b5=np.hstack((b4,b4))#构造出棋盘的1/2 b6=np.vstack((b5,b5))#构造出完整的棋盘 plt.imshow(b6)下面,这是我在Jupiter运行的效果:
末尾添加plt.axis(‘off’)可以去掉坐标轴哦
在pycharm中运行时,需要加上plt.show()才可以显示图片。 原因: plt.imshow()函数负责对图像进行处理,并显示其格式。 plt.show()则是将plt.imshow()处理后的函数显示出来。
网上有很多关于这题的做法,但是我觉得效果都有些牵强。刚好同时在学numpy和matplotlib这两个库,突发奇想将它们结合使用,效果很是满意。 : ) 上面涉及到的知识点,我也不是太懂,希望可以多多交流