热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python教程分享Python/R语言分别实现斐波那契数列的示例详解

前言此专栏为python与r语言对比学习的文章;以通俗易懂的小实验,带领大家深入浅出的理解两种语言的基本语法,并用以实际场景!感谢大家的关注,希望对大家有所帮助。“博观

前言

此专栏为python与r语言对比学习的文章;以通俗易懂的小实验,带领大家深入浅出的理解两种语言的基本语法,并用以实际场景!感谢大家的关注,希望对大家有所帮助。

“博观而约取,厚积而薄发!”谨以此言,望诸君共勉

python教程分享Python/R语言分别实现斐波那契数列的示例详解将前两个小实验整理拼凑再了一起 ;分别是“年龄计算”、“斐波那契数列”。具体的项目介绍见下文。

1、年龄计算

有 5 个人坐在一起,问第五个⼈人多少岁?他说比第 4 个人大 2 岁。问第 4 个 人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多 大?

这个问题简化之后便是求一个等比数列的第 5 项是多少!

1.1 图解问题

Python/R语言分别实现斐波那契数列的示例详解

根据数学思维即可得出该数列为 1 组等差数列:

an=2(n−1)+10

既然问题已经提取到这儿了,那接下来就只剩如何用代码实现了:

1.2 代码解决

1.2.1 python实现代码

def age():      #互动界面——输入查询的第几个      n = int(input("请问你需要第几个人年龄:"))      no_1 = 10      if n<0:          print("请输入大于0的数值!!!")      else:          #主要计算数列          no_n = (n-1)*2+no_1      return n,no_n  print("第{}个人的年龄是:{}岁。".format(*age()))  

Python/R语言分别实现斐波那契数列的示例详解

1.2.1 r语言实现代码

caixiang <- function(){    one_age <-as.integer(readline('请输入第一个人的年龄:'))    n <- as.integer(readline("请输入查询的第几个人:"))    n_age <<- one_age + 2*(n-1)    return(n_age)  }  test_1 <- function(){    caixiang()    cat("查询的年龄为:",n_age)     }  test_1()  

Python/R语言分别实现斐波那契数列的示例详解

1.3 实验小结

这个实验的代码部分并不难,仅需要输入数学公式即可。

代码部分均使用函数的形式进行包装方便理解;函数内部采用互动的方式,便于拓展使用。

2、斐波那契数列

斐波那契数列(fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(leonardo fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

在数学上,斐波那契数列以如下被以递推的方法定义:

Python/R语言分别实现斐波那契数列的示例详解

现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。在数学中更是应用广泛,各种推理推论在这就不展开了,毕竟还是以代码生成斐波那契数列为主。

Python/R语言分别实现斐波那契数列的示例详解

2.1 图解问题

Python/R语言分别实现斐波那契数列的示例详解

根据数列的通项式可得出如图的加法;显然这是种向下的循环加法。则定以for循环对该数列每一个值的单独输出。

2.2 代码实现

2.2.1 python代码实现

def fib(n):      a,b = 1,1      # 循环打印      for i in range(n):          print(a,end = " ")          temp = a          a = b           b = temp + b    num = int(input("请输入需要打印的斐波那数列的数据个数(从 1 开始):"))  fib(num)  

Python/R语言分别实现斐波那契数列的示例详解

2.2.2 r语言代码实现

fib <- function(n){    n <-  as.integer(      readline("请输入需要打印的斐波那数列的数据个数(从 1 开始):"))    a = b = 1    for (i in 1:n) {      print(a,end = " ")      temp <- a      a <- b      b <- a + temp    }  }  test_2 <- function(){    cat("斐波那契数列为:")    fib(n)   }  test_2()  

Python/R语言分别实现斐波那契数列的示例详解

2.3 实验小结

在图解之后,这个数列的输出已经不再困难,均是使用 for 循环加上 temp 指针的方式。这里不展开介绍指针的移动规则,如有需要留言就可。然而在每次循环时将得出的值进行输出就能不被覆盖。

代码部分均使用函数的形式进行包装方便理解;函数内部采用互动的方式,便于拓展使用。

总结

python教程分享Python/R语言分别实现斐波那契数列的示例详解中python与r语言语法小结

获取键盘输入值——input()函数 vs readline()函数

到此这篇关于python/r语言分别实现斐波那契数列的示例详解的文章就介绍到这了,更多相关python/r斐波那契数列内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!

需要了解更多python教程分享Python/R语言分别实现斐波那契数列的示例详解,都可以关注python教程分享栏目&#8212;编程笔记


推荐阅读
author-avatar
coco昵称不可用
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有