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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sk
May 23, 2019
Education
0
64
Python講座第3回.pdf
sk
May 23, 2019
Tweet
Share
More Decks by sk
See All by sk
Python講座演習4.pdf
shuy_k3
0
75
Python2019-2
shuy_k3
0
66
Python2019-1
shuy_k3
0
94
Other Decks in Education
See All in Education
1202
cbtlibrary
0
200
2025-10-30 社会と情報2025 #05 CC+の代わり
mapconcierge4agu
0
110
LotusScript でエージェント情報を出力してみた
harunakano
0
120
Semantic Web and Web 3.0 - Lecture 9 - Web Technologies (1019888BNR)
signer
PRO
2
3.2k
【洋書和訳:さよならを待つふたりのために】第1章 出会いとメタファー
yaginumatti
0
240
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Padlet opetuksessa
matleenalaakso
9
15k
Chapitre_2_-_Partie_3.pdf
bernhardsvt
0
150
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
いわゆる「ふつう」のキャリアを歩んだ人の割合(若者向け)
hysmrk
0
310
KBS新事業創造体験2025_科目説明会
yasuchikawakayama
0
160
0121
cbtlibrary
0
120
Featured
See All Featured
Thoughts on Productivity
jonyablonski
74
5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
Designing for Performance
lara
610
70k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Designing for humans not robots
tammielis
254
26k
Deep Space Network (abreviated)
tonyrice
0
48
It's Worth the Effort
3n
188
29k
First, design no harm
axbom
PRO
2
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
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
解答例