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
52
Python講座第3回.pdf
sk
May 23, 2019
Tweet
Share
More Decks by sk
See All by sk
Python講座演習4.pdf
shuy_k3
0
66
Python2019-2
shuy_k3
0
55
Python2019-1
shuy_k3
0
78
Other Decks in Education
See All in Education
LTをすべき100の理由
eltociear
1
270
わたしのメタ学習 / My Own Meta Learning #shinjukurb
expajp
0
120
「小・中・高等学校における情報教育の体系的な学習を目指したカリキュラムモデル基本方針」
codeforeveryone
0
1.4k
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
1
1.1k
第1回全国商業高校Webアプリコンテスト総括
asial_corp
0
410
SUMMER SCHOOL 2024
pnuslide
0
140
高可用性システム構築 - Oracle Data Guard基本編
oracle4engineer
PRO
2
1k
財務分析 - 入門編
lsuzuki
0
370
Padlet opetuksessa
matleenalaakso
3
11k
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4019538FNR)
signer
PRO
0
1.7k
自由の森学園学校紹介資料
jiyunomori
0
1.5k
6 занятие. Четыре тактики метода "8 кубиков"бизнес-модели #ideaNN 1.03.2024.
karlov
0
150
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Into the Great Unknown - MozCon
thekraken
10
990
Designing Experiences People Love
moore
136
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Code Reviewing Like a Champion
maltzj
514
39k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Facilitating Awesome Meetings
lara
42
5.6k
The Cult of Friendly URLs
andyhume
74
5.7k
Automating Front-end Workflow
addyosmani
1356
200k
Statistics for Hackers
jakevdp
789
220k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
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
解答例