我对使用python3语言进行编码非常陌生。我正在尝试构造一个函数,将两个向量相减。任何帮助都会很棒。预先谢谢你。
编写一个函数vecSubtract(vector01,vector02),该函数接受两个向量作为参数,并返回等于vector01-vector02的向量。
def vecSubtract(vector01,vector02):
for i in range(min(len(vector01), len(vector02))):
result = [vector01[i]-vector02[i] ]
return result
vector01 = [3, 3, 3]
vector02 = [4, 4, 4]
print(vecSubtract(vector01,vector02))
答案 0 :(得分:0)
当您遍历向量(实际上是列表)时,每次都覆盖结果变量。
您可能想使用列表推导。
def vecSubtract(vector01, vector02):
result = [vector01[i] - vector02[i] for i in range(min(len(vector01), len(vector02)))]
return result
vector01 = [3, 3, 3]
vector02 = [4, 4, 4]
print(vecSubtract(vector01,vector02))
如果您确实要使用for循环,则应使用result.append()
而不是每次都覆盖变量。
此外,通过忽略较长向量中的多余元素,可能不允许对不同长度的向量进行减法运算。相反,您可能应该测试两个向量的长度是否相同,如果不是,则让脚本抛出错误。