From e0c532d12bb77903e20f11011341ff14630e9f80 Mon Sep 17 00:00:00 2001 From: 2509165046 <2509165046@student.edu.cn> Date: Tue, 21 Apr 2026 11:20:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 作业/文本数据处理.py | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 作业/文本数据处理.py diff --git a/作业/文本数据处理.py b/作业/文本数据处理.py new file mode 100644 index 0000000..c8e27c9 --- /dev/null +++ b/作业/文本数据处理.py @@ -0,0 +1,56 @@ +# ========== 题目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") \ No newline at end of file