我对用python3语言编写代码相当陌生。我正在尝试构造一个函数,它接受两个向量,然后减去它们。任何帮助都是最好的。提前谢谢你。
编写一个函数vecSubtract(vector01,vector02),它接受两个向量作为参数,并返回等于向量01-向量02的向量。
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))发布于 2018-06-22 03:52:34
当你循环遍历向量(实际上是列表)时,你每次都会覆盖你的结果变量。
您可能希望使用列表理解。
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(),而不是每次都覆盖变量。
此外,通过忽略较长向量中的剩余元素来允许减去不同长度的向量可能也是不正确的。相反,您可能应该测试这两个向量是否具有相同的长度,如果长度不同,则让脚本抛出错误。
https://stackoverflow.com/questions/50976449
复制相似问题