有python帮我康康咋做啊?

给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。时间限制:1000内存限制:65536
Input:
第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。1 <= m <= 100, 1 <= n <= 100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。
input
3 3 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1
output
44.44

m_n = input()
m,n = [int(i) for i in m_n.split(' ')]

img_1 = []
img_2 = []
for i in range(m):
    tmp = input()
    tmp = [int(i) for i in tmp.split(' ')]
    img_1.append(tmp)
for i in range(m):
    tmp = input()
    tmp = [int(i) for i in tmp.split(' ')]
    img_2.append(tmp)

num = 0
for i in range(m):
    for j in range(n):
        if img_1[i][j] == img_2[i][j]:
            num += 1
output = num / (m*n) * 100
print("%.02f"%output)

img

代码可以这样写:

m, n = map(int, input('m,n:'). split())
tn1=[]
tn2=[]
for i in range(m):
    tn1.extend(input('n个0或1,空格隔开:').split())
for i in range(m):
    tn2.extend(input('n个0或1,空格隔开:').split())

cnt=0
for i,j in zip(tn1,tn2):
    if i==j:
        cnt+=1
res=cnt/len(tn1)
print(f'{res*100:.2f}%')
m,n:3 3   
n01,空格隔开:1 0 1
n01,空格隔开:0 0 1
n01,空格隔开:1 1 0
n01,空格隔开:1 1 0 
n01,空格隔开:0 0 1 
n01,空格隔开:0 0 1
44.44%