Python课第五周开始讲函数了。递归函数。递归在python中不能超过900多层,否则报错内存溢出什么的。同样在R中递归太深也会报错,阈值和python中大概一样,900多次就报错了。

error message:

错误: 评估嵌套太深:无穷递归/ options(expressions=)?
收捲时出错: 评估嵌套太深:无穷递归/ options(expressions=)?

基于Python

# 递归函数 阶乘
def fact(n):
if n==0:
return 1
else:
return n*fact(n-1)
# 递归翻转字符串
def reverse(s):
if s=='':
return s
else:
return reverse(s[1:])+s[0]

Python运行结果

fact(12)
Out[9]: 479001600 reverse('hello world')
Out[10]: 'dlrow olleh' 

基于R

# 阶乘
fact <- function(n){
if(n==0) return(1) #基例在这
else return(n*fact(n-1))
}
# 翻转字符串
reverse <- function(s){
if(s=='') return('') #基例在这
else return(paste0(reverse(substring(s,2)),substr(s,1,1)))
}

R运行结果

> reverse('hello world')
[1] "dlrow olleh"
> fact(12)
[1] 479001600

吐个槽:

不像R的IDE已经形成R studio一家独大的局面,Python 的IDE很多,都不怎么好用,现在用Anaconda。

Anaconda目前支持Mac OS X 10.7 -10.10,昨晚手残,升级了系统到OS X EI Capitan 10.11.1 (15B42),然后就傻逼了,Anaconda死活一直loading app list,不能成功加载app.今天上午人品爆发,spyder-app神奇的又能加载成功了。

一直是学习的Python3,想练练手爬个虫,结果又是一堆的坑。目前是到能把网页以文本形式打印出来这一步,目前还未找到和R rvest功能类似的方法,能直接深入到html_node取回自己想要的信息。

吐槽结束。

推荐一个python在线教程,博主是大神,Python2,Python3的教程都有,很全面。

The Data Visualisation Catalogue 教你如何正确使用图表。

向大神写长城的诗学习。

递归函数之阶乘和字符串反转-基于R和Python的更多相关文章

  1. 线程安全使用(四) [.NET] 简单接入微信公众号开发:实现自动回复 [C#]C#中字符串的操作 自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化 自已动手做高性能消息队列 自行实现高性能MVC WebAPI 面试题随笔 字符串反转

    线程安全使用(四)   这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationT ...

  2. Java算法之字符串反转分析

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在基本的工作内容开发中,算法不会显得那么重要,而在百万级别的时候,差距非常大,今天带大家研究下常见的 ...

  3. 字符串反转C#的实现

    字符串反转是面试过程中出现频率较高的算法题,今天一个牛同事让我用C#帮他实现这个算法,前提当然是不能使用类库. 例如: how are you 的反转结果为 you are how. 算法1: 是我当 ...

  4. 趣味算法:字符串反转的N种方法(转)

    老赵在反对北大青鸟的随笔中提到了数组反转.这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常).因为我写着写着,就写出来8种方法……现在我们以字符串的反转为 ...

  5. Java实现字符串反转的8种方法

    /** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...

  6. [C/C++] String Reverse 字符串 反转

    #include <iostream> #include <string> #include <algorithm> #include <cstring> ...

  7. JAVA:字符串反转

    import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Lis ...

  8. python字符串反转 高阶函数 @property与sorted(八)

    (1)字符串反转 1倒序输出 s = 'abcde' print(s[::-1]) #输出: 'edcba' 2 列表reverse()操作 s = 'abcde' lt = list(s) lt.r ...

  9. python——3种字符串反转方法

    在学习过程中,总结了3种字符串反转方法: 1.切片法 这种方法最为简便 str='abad' print(str[::-1]) · 用切片操作,将字符串以步长-1重新整理,即 'str[-1],str ...

随机推荐

  1. python_字典 学习

    一.创建字典(关联数组或hash表) 字典由键(key)和对应的值(values)组成. 代码: dic = { ‘ name‘:1 , ‘ zhang ’:2 , ‘ age‘ :3 , ‘ sex ...

  2. RTT之ENV

    一 先安装工具git:在CMD命令行中运行git命令检验git环境变量安装成功 二 下载env工具:然后解压,打开对应的exe然后右击-setting-intergration-registor这样后 ...

  3. android shape.xml 属性详解

    转载源:http://blog.csdn.net/harvic880925/article/details/41850723 一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标 ...

  4. JS arguments转array

    JS arguments转array? Array.prototype.slice.call(arguments)

  5. pat1043. Is It a Binary Search Tree (25)

    1043. Is It a Binary Search Tree (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN ...

  6. fetch技术

    Snandy If you cannot hear the sound of the genuine in you, you will all of your life spend your days ...

  7. Razor,aspx的占位控件(母版页)

    1.razor: 母版页中:@*类似master的占位控件*@ @RenderSection("scripts", required: false) 部分页中: @section ...

  8. Spring课程 Spring入门篇 4-3 Spring bean装配(下)之Autowired注解说明2 集合运用

    课程链接: 本节主要讲了以下几块内容 1 注解相关解析 2 代码演练 集合for循环的使用 2.1 list集合应用 2.2 map集合应用 2.3 集合排序(只对list有效,对map无效(list ...

  9. jQuery的下拉框应用

    jQuery的下拉框应用 jQuery的下拉框左右选择应用 直接上代码 <!DOCTYPE html> <html> <head> <meta charset ...

  10. vue打包后CSS中引用的背景图片不显示问题

    vue项目中,在css样式中引用了一张背景图片,开发环境下是可以正常显示,build之后背景图片不显示. 解决方法: 找到build/utils.js文件 修改成为如下所示内容:  添加红框中的内容即 ...