diff --git a/题目1.py b/题目1.py new file mode 100644 index 0000000..6b9b762 --- /dev/null +++ b/题目1.py @@ -0,0 +1,20 @@ +word = "Hello" +print("1. 使用 ord() 函数:") +for char in word: + ascii_val = ord(char) + print(f" '{char}' -> {ascii_val}") + +print("\n2. 使用 chr() 函数验证:") + +ascii_value = 65 +char_from_ascii = chr(ascii_value) +print(f" ASCII码 {ascii_value} -> 字符 '{char_from_ascii}'") + +print("\n3. 完整转换验证:") +print(" 字符串 'Hello' 的ASCII码列表:") +ascii_list = [ord(c) for c in word] +print(f" {ascii_list}") + +print(" 从ASCII码列表恢复字符串:") +recovered_word = ''.join(chr(code) for code in ascii_list) +print(f" {ascii_list} -> '{recovered_word}'") \ No newline at end of file diff --git a/题目3.py b/题目3.py new file mode 100644 index 0000000..8e43d0a --- /dev/null +++ b/题目3.py @@ -0,0 +1,15 @@ +import numpy as np + +A = np.array([3, 4]) +B = np.array([1, 2]) + +A_plus_B = A + B +print("1. A + B =", A_plus_B) + +two_A = 2 * A +print("2. 2 * A =", two_A) + +norm_A = np.linalg.norm(A) +print("3. 向量 A 的长度 =", norm_A) + +print("-" * 40) \ No newline at end of file diff --git a/题目4.py b/题目4.py new file mode 100644 index 0000000..1727125 --- /dev/null +++ b/题目4.py @@ -0,0 +1,23 @@ +A1 = np.array([1, 2, 3]) +B1 = np.array([4, 5, 6]) + +dot_product = np.dot(A1, B1) +print("1. 点积 A*B =", dot_product) + +def cosine_similarity(v1, v2): + dot = np.dot(v1, v2) + norm_v1 = np.linalg.norm(v1) + norm_v2 = np.linalg.norm(v2) + return dot / (norm_v1 * norm_v2) + +cos_sim = cosine_similarity(A1, B1) +print(f"2. 余弦相似度 = {cos_sim:.6f}") +print(f" 精确分数形式: {dot_product}/({np.dot(A1, A1)}*{np.dot(B1, B1)}) = {dot_product}/{np.dot(A1, A1) * np.dot(B1, B1)}") + +A2 = np.array([1, 0]) +B2 = np.array([0, 1]) +cos_sim_special = cosine_similarity(A2, B2) +print("3. 当 A = [1, 0], B = [0, 1] 时:") +print(" - 点积 =", np.dot(A2, B2)) +print(" - 余弦相似度 =", cos_sim_special) +