# ========== 题目1:文本数据基础 ========== # 1. 打印"Hello"每个字符的ASCII码 print("===== 题目1-1:打印Hello的ASCII码 =====") s = "Hello" for char in s: print(f"字符 '{char}' 的ASCII码:{ord(char)}") # 2. 验证chr(65)是大写字母A print("\n===== 题目1-2:chr(65)验证 =====") print(f"ASCII码65对应的字符是:{chr(65)}") # ========== 题目3:向量基础(A=[3,4], B=[1,2]) ========== print("\n===== 题目3:向量A=[3,4], B=[1,2] =====") A = [3, 4] B = [1, 2] # 1. A + B add_result = [A[0]+B[0], A[1]+B[1]] print(f"1. A + B = {add_result}") # 2. 2 × A mul_result = [2 * A[0], 2 * A[1]] print(f"2. 2 × A = {mul_result}") # 3. A的长度(模) import math norm_A = math.sqrt(A[0]**2 + A[1]**2) print(f"3. A的长度(模) = {norm_A}") # ========== 题目4:向量点积与余弦相似度 ========== print("\n===== 题目4:向量A=[1,2,3], B=[4,5,6] =====") A = [1, 2, 3] B = [4, 5, 6] # 1. 点积 dot_product = sum(a * b for a, b in zip(A, B)) print(f"1. 点积 A·B = {dot_product}") # 2. 余弦相似度 norm_A = math.sqrt(sum(a**2 for a in A)) norm_B = math.sqrt(sum(b**2 for b in B)) cos_sim = dot_product / (norm_A * norm_B) print(f"2. 余弦相似度 = {cos_sim:.3f}") # 3. 特殊情况:A=[1,0], B=[0,1]的余弦相似度 print("\n===== 题目4-3:向量A=[1,0], B=[0,1] =====") A = [1, 0] B = [0, 1] dot_product2 = sum(a * b for a, b in zip(A, B)) norm_A2 = math.sqrt(sum(a**2 for a in A)) norm_B2 = math.sqrt(sum(b**2 for b in B)) cos_sim2 = dot_product2 / (norm_A2 * norm_B2) print(f"余弦相似度 = {cos_sim2}") print("解释:两个向量互相垂直,夹角为90°,余弦值为0")