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. 3-----Scrapy框架的命令行详解

    创建爬虫项目 scrapy startproject 项目名 例子如下: E:\crawler>scrapy startproject test1 New Scrapy project 'tes ...

  2. 前端面试题 ---- html篇

    想要换工作了,转载自https://www.cnblogs.com/zhangshuda/p/8464772.html,感谢原博主. 一.html 1.html和xhtml区别 1. html:超文本 ...

  3. Dev Express Report 学习总结(二)关于如何使用Grouping分组

    对于所有的报表工具来说,基本上所有Grouping功能的都很相似.正如前面说到的,Group处于Page Header和Page Footer之间,同时又将Detail包括与其中. 下面还是通过一个例 ...

  4. Hibernate通过自编写Sql修改

    @Override public void updateTemMsg(String ticket,String time) { String sql="UPDATE INTER_TEMPTO ...

  5. UGUI 用脚本动态改变Button颜色组合

    public Button button; void Start() { ColorBlock cb = new ColorBlock(); cb.normalColor = Color.red; c ...

  6. 编译opencv python接口

    首先,安装依赖1 sudo apt-get install build-essential 2 sudo apt-get install cmake git libgtk2.0-dev pkg-con ...

  7. 关于Vim 的插件snipmate 以及它的安装方式

    在网上看了http://study.163.com/course/courseMain.htm?courseId=269016#/courseMain   里关于snipmate 的视频 snipma ...

  8. apache2.2多域名绑定

    apache2.2多域名绑定不同目录,将代码放在httpd.conf最后 NameVirtualHost *:80 <VirtualHost *:80> ServerName wo.com ...

  9. 解决MyEclipse报errors running builder ‘javascript validator’ on project

    今天导入项目的时候,报了以下错误 MyEclipse测到功能代码变化(保存动作触发)就报错: errors running builder ‘javascript validator’ on proj ...

  10. [巩固C#] 一、特性是什么东东

    阅读目录   关闭   前言 特性是什么? 那么什么是“元数据”? 特性到底是什么? 我们自定义一个特性玩玩 什么是命名参数? 我们来继续要看看AttributeUsage(这个描... 自定义特性可 ...