鱼C论坛

 找回密码
 立即注册
查看: 2994|回复: 1

帮帮孩子

[复制链接]
发表于 2022-10-15 13:17:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.请编写一个程序,从键盘输入两个向量,每个向量的维度是2,向量中每个元素的范围在0到1之间,计算两个向量的余弦相似度,并输出结果

2.请编写一个程序,产生两个[10,50]之间的随机数,用这两个数构造一个复数,计算复数的模、辐角(要求转换成角度),最后将复数、复数的模和辐角显示在屏幕上。要求每个占7列,保留⒉位小数,右对齐。

新手上路,最基础的做法就好!!跪谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-15 19:00:23 | 显示全部楼层
from numpy import array, linalg

A = array([
    [1, 0, 1],
    [0, 1, 0],
    [1, 1, 1]])

B = array([
    [1, 0, 0],
    [0, 1, 1], 
    [0 ,1 ,0]])

print("余弦相似性: ")
print(A.dot(B) / linalg.norm(A) * linalg.norm(B))
print()

from random import choice
from math import sqrt, pi, acos

x, y = choice(range(10, 51)), choice(range(10, 51))

# 构造一个复数
com = complex(x, y)

# 计算复数的模
mod = sqrt(x * x + y * y)

# 计算复数的辐角 (要求转换成角度)
arg = acos(x / mod) * 180 / pi

# 显示在屏幕上。要求每个占7列,右对齐。
print(f"{repr(com)[1:-1]: >7}", f"{mod: >7.2f}", f"{arg: >7.2f}", sep = '\n')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 15:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表