gpt4 book ai didi

python - x,y = y,y+x 和 x=y , y=x+y 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-01 01:58:07 27 4
gpt4 key购买 nike

我刚刚编写了这些代码,但输出不同。第二个代码的输出符合我的预期,但第一个代码的输出不正确。但为什么呢?

def fib(n):
x = 0
y = 1
print x
for i in range(n):
x = y
y = x+y
print x
return x

输出是;当n=5时

0
1
2
4
8
16


def fib(n):
x,y = 0,1
print x
for i in range(n):
x,y = y,x+y
print x
return x

输出是;当n=5时

0
1
1
2
3
5

第二个代码是正确的,但是,x,y = y,x+y 并且x = y,y = x+y它们看起来一样但输出不同,为什么?

最佳答案

它们给出不同的输出,因为 x=y,然后 y=x+y,您将 x 设置为 y 的值。然后,当 x 的值更新后,将其添加到 y 中以找到 y 变量。通过方程 y = y+x 部分中的一行变量声明 (x,y=y,y+x),它将使用 x 的先前值,而不是您在该行中设置的值。

如果你有:

x=0
y=1

然后你尝试了一行声明,它看起来像这样:

x,y=1,0+1
x,y=y,x+y

我希望这有帮助:)

关于python - x,y = y,y+x 和 x=y , y=x+y 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49941359/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com