Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同形式的python打印向量_Python_Function_If Statement_Module_Mapping - Fatal编程技术网

不同形式的python打印向量

不同形式的python打印向量,python,function,if-statement,module,mapping,Python,Function,If Statement,Module,Mapping,编写一个名为“vectormath.py”的程序,以进行三维基本矢量计算: 此外,点积和归一化 我的映射函数出错 样本输入: Enter vector A: 1 3 2 Enter vector B: 2 3 0 样本输出 A+B = [3, 6, 2] A.B = 11 |A| = 3.74 |B| = 3.61 代码: 替换 vector\u A=map(int,vector\u A)withvector\u A=list(map(int,vector\u A)) 及 vec

编写一个名为“vectormath.py”的程序,以进行三维基本矢量计算: 此外,点积和归一化

我的映射函数出错

样本输入:

Enter vector A:

1 3 2

Enter vector B:

2 3 0
样本输出

A+B = [3, 6, 2]

A.B = 11

|A| = 3.74

|B| = 3.61
代码:

替换

vector\u A=map(int,vector\u A)
with
vector\u A=list(map(int,vector\u A))

vector\u B=map(int,vector\u B)
with
vector\u B=list(map(int,vector\u B))

这里
map(int,vector_A)
返回一个作为迭代器的map对象

list()
获取迭代器并返回代码中所需的列表,以便进行进一步的向量计算

现在,您正在将
映射对象
传递给函数
addition、Dotproduct和norm
,它们实际上应该是定义的计算的列表

上述更改将贴图对象转换为列表

import math
def addition(a,b):
    return[a[0]+b[0] , a[1] + b[1] , a[2] + b[2]]

def  Dotproduct(a , b):
    return a[0]*b[0] + a[1]*b[1] + a[2]*b[2]

def norm(a):
    square = a[0]**2 + a[1]**2 + a[2]**2
    return math.sqrt(square)

def main():
    vector_A = input("Enter vector A:\n").split(" ")
    vector_A = map(int,vector_A)
    vector_B = input("Enter vector B:\n").split(" ")
    vector_B = map(int, vector_B)
    
    print(addition(vector_A,vector_B))
    print(addition(vector_A,vector_B))
    print(norm(vector_A))
    print(norm(vector_B))
    
if __name__ == "__main__":
    main()