Python打印数组两次

Python打印数组两次,python,printing,Python,Printing,我编写了以下扩展欧几里德算法的实现: def extended_euclid(a, b): x_k = 1 # read x_k x_k1 = 0 # read x_(k+1) y_k = 0 # read y_k y_k1 = 1 # read y_(k+1) sign = 1 while b != 0: q = a//b r = a - q*b a =

我编写了以下扩展欧几里德算法的实现:

def extended_euclid(a, b):
    x_k = 1       # read x_k
    x_k1 = 0      # read x_(k+1)
    y_k = 0       # read y_k
    y_k1 = 1      # read y_(k+1)
    sign = 1
    while b != 0:
        q = a//b
        r = a - q*b
        a = b
        b = r
        xx = x_k1
        yy = y_k1
        x_k1 = q*x_k1 + x_k
        y_k1 = q*y_k1 + y_k
        x_k = xx
        y_k = yy
        sign = -sign
    x = sign*x_k
    y = sign*y_k
    return [a, x, y]
它与exptected一样工作,但当我尝试使用标准函数“print”打印函数调用的结果时,输出会打印两次。所以当我这么做的时候

print(扩展欧几里德(15,10))

我得到输出

[5, 1, 1]
[5, 1, 1]
我不明白为什么输出会被打印两次,你能给我解释一下吗。 当我这样做的时候

a = extended_euclid(15,10)
print(a[1])
我明白了

我也不明白


编辑:问题是我两次错误地导入了一个文件,这导致了一些意外的结果。也许这对某些人有帮助。

检查代码的其余部分,如果您在某个地方打印此欧几里德函数,请删除该打印,只需调用函数即可。在我的机器上,此代码只打印一个结果。

我怀疑这是您的全部代码,请查看您的脚本,确保您没有打印此2x或以某种方式运行此2x。我只复制了一次您的代码及其打印工作!如果这是您的全部代码-您确定您的shell配置正确吗?在Python3.6.6中运行这段代码会打印一次结果列表。谢谢您的帮助,我来看看。
1
1