关于学习 Python3 中,有关斐波那奇数列的疑问,谢谢大家了

2018-08-08 20:19:35 +08:00
 shonky

https://i.loli.net/2018/08/08/5b6adf9882dff.jpg 这第五行,是如何得出想打印的数列的呢

2553 次点击
所在节点    Python
11 条回复
rabbbit
2018-08-08 20:22:43 +08:00
相当于
tempA = a
tempB = b
b = tempA + tempB
a = tempB
shonky
2018-08-08 20:34:45 +08:00
@rabbbit 这样写,倒是理解了,为什么在这里,没有直接写出来。没有赋值的表示。这是什么方面的知识点。
1069401249
2018-08-08 20:35:17 +08:00
哈哈,批量赋值啊,跟第二行一样。这种扫操作 go 语言也一样
shonky
2018-08-08 20:38:50 +08:00
@1069401249 没学过 GO,还是刚学 Python.边看书边操作。看到由那个数列引出了 yield,然后数列没理解出来,这个也看不懂。
Wincer
2018-08-08 20:41:30 +08:00
@shonky 这是 Python 的元组拆包,当 a, b = b, a 的时候,会把 b, a 看做一个可迭代对象,依次赋值给 a, b 组成的元组
Meli55a
2018-08-08 20:49:12 +08:00
5 楼港得对
shonky
2018-08-08 20:55:22 +08:00
@Wincer a,b=b,a+b
第一次迭代,是从那开始的,是 a+b 给 b 吗,百度了下元组拆包例子,没有类似的情况,其他例子都有着=来进行对应赋值操作。
rabbbit
2018-08-08 21:03:53 +08:00
shonky
2018-08-08 21:09:17 +08:00
@rabbbit 给的例子都会有具体的=,就不太明白这个是如何实现的。是默认,第二个换成第一个,第三个换成第二个吗
Wincer
2018-08-08 21:11:51 +08:00
@shonky 这里就是先计算 b 和 a+b 的值,然后一并赋值给 a 和 b,我所说的可迭代对象指的是 等号的右边 a, b = [b, a+b] 这么写你可能会明白些
shonky
2018-08-08 21:16:54 +08:00
@Wincer 终于明白,我断句出了问题,我分成了三部分,其实是两边。谢谢了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/478053

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX