Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python講座第3回.pdf
Search
sk
May 23, 2019
Education
0
63
Python講座第3回.pdf
sk
May 23, 2019
Tweet
Share
More Decks by sk
See All by sk
Python講座演習4.pdf
shuy_k3
0
74
Python2019-2
shuy_k3
0
63
Python2019-1
shuy_k3
0
89
Other Decks in Education
See All in Education
登壇未経験者のための登壇戦略~LTは設計が9割!!!~
masakiokuda
3
670
生態系ウォーズ - ルールブック
yui_itoshima
1
250
JPCERTから始まる草の根活動~セキュリティ文化醸成のためのアクション~
masakiokuda
0
220
生成AI活用セミナー/GAI-workshop
gnutar
0
110
SISTEMA DE MEMORIA Y SU IMPACTO EN LAS DECISIONES.
jvpcubias
0
130
チーム開発における責任と感謝の話
ssk1991
0
250
ROSConJP 2025 発表スライド
f0reacharr
0
200
AI for Learning
fonylew
0
180
Course Review - Lecture 12 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.8k
OpenSourceSummitJapanを運営してみた話
kujiraitakahiro
0
790
Online Privacy
takahitosakamoto
0
110
【品女100周年企画】Pitch Deck
shinagawajoshigakuin_100th
0
5.9k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Balancing Empowerment & Direction
lara
3
620
Being A Developer After 40
akosma
90
590k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Become a Pro
speakerdeck
PRO
29
5.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Invisible Side of Design
smashingmag
301
51k
Designing Experiences People Love
moore
142
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Transcript
Python講座第3回
前回の復習(関数) 復習問題 引数を入力させて、 その階乗を計算し、コンソールに出力する関数。
解答例
再帰関数 再帰関数とは? →関数の中で自身を呼び出す関数 例えば →
階乗を計算する関数(再帰ver)
解説 引数に10を入れたため、factrial(x - 1)*x 、 つまりfactrial(9)*10が呼び出される。 factrial(9)では、factrial(8)*9が呼び出される。
最終的に… 最終的にfactrial(2)においてfactrial(1)*2が呼び出 される。 これにより、factorial(2)の値が決まるため、 factorial(3)→factorial(4)→…→ factorial(10)の順 に解決されていく。
再帰関数を使うメリット 複雑な繰り返しを簡単に書くことができる。 それによってコードが読みやすくなる。
こんな便利な再帰関数ですが… メリットばかりではなく危険もあります (大いなる力には危険がつきものってそれ一番言われてるから)
再帰関数のデメリット 無限ループ →プログラムを終了させる条件などを入れない でコードを書いてしまうと、プログラムが終わ らず永遠に実行され続け、オーバーフローを起 こしてしまう。 (無限ループってこわくね?)
例えば これはwhile文でも起こります。 もしなってしまったらCtrl+cで抜けられます。
練習問題1 引数を入力させ、1から引数番目までの和を コンソールに表示する再帰関数
解答例
練習問題2 引数を2つ入力させ、その二つの数の最大公 約数を計算する再帰関数 まぁユークリッドの互除法ってやつですね
解答例
練習問題3 引数を入力させ、引数番目のフィボナッチ数 列の項をコンソールに表示する再帰関数 フィボナッチ数列とは… →1 1 2 3
5 8 13 21 34 55 89 144 233 377 …
解答例
練習問題4(解けたらすごい) 引数個のハノイの塔の手順を出力する再帰関数 (↓こーなればおk
解答例