s = "Hello" for c in s: print(c, ord(c)) print(chr(65)) # ========== 题目3 ========== A = [3, 4] B = [1, 2] # 1. 向量加法 def vector_add(a, b): return [x + y for x, y in zip(a, b)] # 2. 数乘向量 def scalar_multiply(scalar, vec): return [scalar * x for x in vec] # 3. 计算向量的模 def vector_norm(vec): return sum(x**2 for x in vec) ** 0.5 print("题目3:") print(f"1. A + B = {vector_add(A, B)}") print(f"2. 2 × A = {scalar_multiply(2, A)}") print(f"3. A的模 = {vector_norm(A)}") print("-" * 30) # ========== 题目4 ========== A1 = [1, 2, 3] B1 = [4, 5, 6] A2 = [1, 0] B2 = [0, 1] # 1. 点积计算 def dot_product(a, b): return sum(x * y for x, y in zip(a, b)) # 2. 余弦相似度计算 def cosine_similarity(a, b): dot = dot_product(a, b) norm_a = vector_norm(a) norm_b = vector_norm(b) return dot / (norm_a * norm_b) if norm_a != 0 and norm_b != 0 else 0 print("题目4:") print(f"1. A·B = {dot_product(A1, B1)}") print(f"2. A1与B1的余弦相似度 = {cosine_similarity(A1, B1):.4f}") print(f"3. A2与B2的余弦相似度 = {cosine_similarity(A2, B2)}") print(" 原因:两个向量正交(点积为0),方向完全垂直,所以相似度为0")