首页 > 解决方案 > 我如何在python中创建检查列表是否为向量的函数

问题描述

我的任务是实现一个parallel_vec(lst1, lst2)带有 2 个参数的函数lst1,这些参数是代表两个向量lst2的长度列表。n

True如果向量“平行”,则函数将返回,否则False

的定义:如果所有分量之间的比率相同,则parallel vectors两个向量v1 = (n1, n2, n3)和是平行向量,定义为v2 = (k1, k2, k3)n1 / k1 = n2 / k2 = n3 / k3

这是我写的:

lst1 = [1,3,4]
lst2 = [2,6,8]
ind1 = 0 
ind2 = 1
while ind2 < len(lst1): 
    if (lst1[ind1]/lst2[ind1]) == (lst1[ind2]/lst2[ind2]):
        ind1 += 1
        ind2 += 1
        continue
        print(True)
    #return True
    else:
        print(False)

我还没有运行它,因为我想检查它是否工作,但它没有。我究竟做错了什么?

标签: python

解决方案


创建分数列表n1/k1, n2/k2, n3/k3

>>> [1.0, 1.0, 1.0]

然后用于set删除重复项(这意味着比率相同)

那么如果这个新的列表长度为==1,则向量是平行的

lst1 = [1,3,4]
lst2 = [2,6,8]

vect = [(x/y) for x,y in zip(lst1,lst1)]

if len(set(vect)) == 1:
    print(True)

else:
    print(False)

推荐阅读