对于java,c++等语言,a,b=a,a+b; 这样的赋值语句是不成立的,有语法错误。但是python中的可以的。它的赋值逻辑是。其中代码 a, b = b, a+b 的计算方式为先计算右边表达式,然后同时赋值给左边,等价于:
n=b
m=a+b
a=n
b=m
Python 会先计算右边的表达式,再将结果按顺序赋值给左边的变量。
1,使用多值赋值表达式,实现斐波那些数列。
什么是斐波那些数列?
斐波那契数列是指这样一个数列:0,1,1,2,3,5,8,13,21,34,55,89……这个数列从第3项开始 ,每一项都等于前两项之和。
斐波那契数列(Fibonacci sequence),又称黄金分割数列 [1],因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:0、1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
使用python实现:
a, b =0,1
while b <10:print(b)
a, b = b, a+b
使用java实现:迭代法
publicclassFibonacci{
publicstaticvoid main(String[] args){
int n =10, first =0, second =1;
System.out.println("斐波那契数列前 "+ n +" 项:");
for(int i =1; i <= n; i++){
System.out.print(first +" ");
intnext= first + second;
first = second;
second =next;
}
}
}
使用java实现:递归法,总而言之,没有上面python更直观,更简单。递归估计很多人都写不出来。
publicclassFibonacci{
publicstaticvoid main(String[] args){
int n =10;
for(int i =0; i < n; i++){
System.out.print(fibonacci(i)+" ");
}
}
publicstaticint fibonacci(int n){
if(n <=1)return n;
return fibonacci(n -1)+ fibonacci(n -2);
}
}
更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!