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
JAPAN AI CUP Prediction Tutorial
upura
1
600
沖ハック~のみぞうさんとハッキングチャレンジ☆~
nomizone
1
570
Introduction - Lecture 1 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
4.4k
【ベテランCTOからのメッセージ】AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ
netmarkjp
2
2.6k
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
230
MySmartSTEAM 2526
cbtlibrary
0
190
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
10
11k
Human Perception and Cognition - Lecture 4 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
ロータリー国際大会について~国際大会に参加しよう~:古賀 真由美 会員(2720 Japan O.K. ロータリーEクラブ・(有)誠邦産業 取締役)
2720japanoke
1
770
2025年度伊藤正彦ゼミ紹介
imash
0
170
核軍備撤廃に向けた次の大きな一歩─核兵器を先には使わないと核保有国が約束すること
hide2kano
0
230
10分で学ぶ すてきなモナド
soukouki
1
140
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Tell your own story through comics
letsgokoyo
1
810
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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
解答例