$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python講座第3回.pdf
Search
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
the difficulty into words
ukky86
0
320
生成AIとの付き合い方 / Generative AI and us
kaityo256
PRO
11
6.6k
多様なメンター、多様な基準
yasulab
5
19k
【ZEPホスト用メタバース校舎操作ガイド】
ainischool
0
150
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics: Artificial Intelligence and Data Science
signer
PRO
0
860
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
CSS3 and Responsive Web Design - Lecture 5 - Web Technologies (1019888BNR)
signer
PRO
1
3k
RSJ2025 ランチョンセミナー 一歩ずつ世界へ:学生・若手研究者のための等身大の国際化の始め方
t_inamura
0
340
外国籍エンジニアの挑戦・新卒半年後、気づきと成長の物語
hypebeans
0
650
Cifrado asimétrico
irocho
0
360
The World That Saved Me: A Story of Community and Gratitude
_hashimo2
3
370
1014
cbtlibrary
0
500
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Visualization
eitanlees
150
16k
Making Projects Easy
brettharned
120
6.5k
The Cult of Friendly URLs
andyhume
79
6.7k
Embracing the Ebb and Flow
colly
88
4.9k
Balancing Empowerment & Direction
lara
5
800
Automating Front-end Workflow
addyosmani
1371
200k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
A better future with KSS
kneath
240
18k
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
解答例