import math def cosine_similarity(a, b): dot = sum(x * y for x, y in zip(a, b)) norm_a = math.sqrt(sum(x**2 for x in a)) norm_b = math.sqrt(sum(x**2 for x in b)) return dot / (norm_a * norm_b) # 题目4-1,4-2 A = [1, 2, 3] B = [4, 5, 6] dot_product = sum(a*b for a,b in zip(A,B)) print("点积 =", dot_product) print("余弦相似度 =", cosine_similarity(A, B)) # 题目4-3 A2 = [1, 0] B2 = [0, 1] print("特殊向量余弦相似度 =", cosine_similarity(A2, B2))