56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
# ========== 题目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") |