- **Q1 矩阵运算**
读取matrixA.txt and matrixB.txt
进行矩阵乘法运算
由小到大排序后输出
numpy
matrixA.txt
8,4,2,3,5,4,4,2,6,6,7,1,3,3,5,6,8,3,9,4,9,9,2,5,3,2,6,6,5,2,6,7,7,5,9,3,5,8,8,9,5,7,7,8,1,6,3,8,4,3
matrixB.txt
7,3,2,9,9,2,3,3,1,3
1,8,5,2,8,7,9,6,2,3
3,4,7,8,8,4,2,8,8,7
4,7,9,7,4,4,2,7,1,1
6,4,4,7,3,7,6,9,3,6
7,7,7,5,1,6,1,5,7,1
4,4,9,6,7,2,1,8,8,7
3,8,7,8,2,3,6,8,9,9
8,9,6,9,3,2,7,6,3,8
5,6,5,3,4,4,4,4,2,1
3,5,2,3,7,6,2,8,8,3
5,1,2,5,9,8,1,7,8,1
3,4,9,5,6,7,5,7,5,5
3,8,2,5,8,6,9,3,3,8
9,3,8,4,2,8,4,9,5,1
6,7,1,6,1,8,7,3,3,6
4,7,3,3,9,1,6,7,8,3
6,7,8,7,8,1,1,4,6,1
6,4,9,7,5,7,5,2,4,9
8,4,2,8,3,2,6,6,9,2
1,4,3,7,1,7,9,9,6,8
7,4,3,9,8,7,4,3,3,8
8,9,2,5,6,4,2,8,2,9
1,5,9,9,6,8,7,5,9,9
2,8,2,8,5,3,6,8,6,5
6,5,2,1,6,4,4,4,6,9
8,7,3,3,1,2,7,5,1,6
8,4,4,8,4,5,8,9,6,3
3,3,9,8,3,6,6,2,4,5
4,5,2,4,8,8,7,4,2,7
9,3,2,3,6,9,9,9,8,6
3,6,6,3,8,2,2,1,2,2
5,8,4,3,1,1,4,4,2,1
8,4,5,4,7,1,8,6,2,3
8,9,5,1,9,7,8,1,9,2
2,4,3,2,7,6,7,9,7,2
2,2,9,1,8,6,9,7,3,9
2,5,3,8,2,7,1,1,4,9
6,5,6,6,3,1,4,9,3,2
3,4,6,8,1,3,5,6,8,8
3,5,9,1,3,6,6,9,4,7
9,6,9,4,9,5,3,9,8,4
5,8,9,3,4,9,2,9,2,1
9,6,7,5,2,1,7,9,7,8
6,8,5,9,1,6,5,1,2,4
3,2,7,9,8,9,6,9,5,7
2,6,3,1,5,9,4,5,1,3
4,7,7,9,8,4,1,7,1,7
7,5,6,4,5,8,1,1,7,9
6,6,2,9,3,7,3,8,3,4
代码:
import numpy as np
matrixA = np.loadtxt('data/matrixA.txt', dtype=np.int, delimiter=',')
matrixB = np.loadtxt('data/matrixB.txt', dtype=np.int, delimiter=',')
matrixC = matrixA.dot(matrixB)
np.savetxt('ans_one.txt', np.sort(matrixC), fmt='%d', delimiter=' ')
- **Q2 图像处理**
读取两个图片
使用后者异于前者的部分产生相同格式的新图片
pillow
lena.png
lena_modified.png
代码
from PIL import Image
import numpy as np
img1 = Image.open("data/lena.png")
img2 = Image.open("data/lena_modified.png")
img3 = Image.fromarray(np.ones_like(img2))
for i in range(img2.size[0]):
for j in range(img2.size[1]):
ij = (i, j)
pixel = img2.getpixel(ij)
if img1.getpixel(ij) != pixel:
img3.putpixel(ij, pixel)
img3.save("ans_two.png")