#-*- codeing = utf-8 -*-
#@Time : 2022/2/11 17:36
#@Software : PyCharm
list_coordinate = [["爱情片",1,101],["爱情片",5,89],["动作片",108,5],["动作片",115,8],["爱情片",3,78],["动作片",100,2]]
result = [[],[],[],[],[],[]]
def sort(test):
t =[]
for i in range(len(test)):
for j in range(i,len(test)):
if test[i][0]>test[j][0]:
t = test[i]
test[i] = test[j]
test[j] = t
def KNN(x,y,k):
for i in range(len(list_coordinate)):
res = (x - list_coordinate[i][1])**2+(y - list_coordinate[i][2])**2
result[i].append(res)
result[i].append(list_coordinate[i][0])
sort(result)
print(result)
k1 = 0
k2 = 0
for j in range(k):
if result[j][1]=="爱情片":
k1 = k1+1
else:
k2 = k2+1
if k1>k2:
print("爱情片")
else:
print("动作片")
x = int(input("请输入打斗镜头数目"))
y = int(input("请输入接吻镜头数目"))
k = int(input("请输入参考点数目"))
KNN(x,y,k)
按自己思路写的KNN
和书上代码一对比,顿时无语凝噎
再好好啃书上代码吧