再帰関数の乗算と文字列反転-RとPythonに基づく

1793 ワード

Pythonの授業は5週目から関数を話し始めました.再帰関数再帰的に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(15 B 42)にアップグレードしたが、その後は馬鹿になった.Anacondaはずっとloading app listで、appのロードに成功できなかった.今日の午前中は人柄が爆発し、spyder-appは不思議にもロードに成功した.
ずっと勉強していたPython 3は、手を練習して虫を登ろうとしたが、結局また穴だらけになった.Webページをテキスト形式で印刷できるようになるまで、R rvest機能と似たような方法はまだ見つかっておらず、html_に直接深く入り込むことができます.nodeは自分の欲しい情報を取り戻す.
突っ込み終了.
pythonオンラインチュートリアルをお勧めします.ブロガーは大神、Python 2、Python 3のチュートリアルがあります.全面的です.
The Data Visualisation Catalogueは、グラフの使い方を教えてくれます.
大神に万里の長城の詩を書いて勉強する.