130130 < div class ="pst-async-banner-revealer d-none ">
131131 < aside id ="bd-header-version-warning " class ="d-none d-print-none " aria-label ="Version warning "> </ aside >
132132</ div >
133- < aside class ="bd-header-announcement " aria-label ="Announcement ">
134- < div class ="bd-header-announcement__content "> < p > < a href ='https://www.saiensu.co.jp/search/?isbn=978-4-88384-416-6&y=2025 '> < span style ='color:white; font-size:90%; '> ✴️ 書籍『経済学のためのPython入門』(発行日:2025年10月10日) ← クリック! ✴️ </ span > </ a > </ p > </ div >
135- </ aside >
136133
137134
138135 < header class ="bd-header navbar navbar-expand-lg bd-navbar d-print-none ">
@@ -545,7 +542,7 @@ <h2>フローチャート<a class="headerlink" href="#id2" title="Link to this h
545542< div class ="output stderr highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > Matplotlib is building the font cache; this may take a moment.
546543</ pre > </ div >
547544</ div >
548- < img alt ="_images/4873616e4db7e43f9a4ab26abaf9722948c4260f4b3ae9d4e28cb4c7dd69b5cf .svg " src ="_images/4873616e4db7e43f9a4ab26abaf9722948c4260f4b3ae9d4e28cb4c7dd69b5cf .svg " />
545+ < img alt ="_images/14ab3009f0225ec3062c1df720cb3282cec1483fa543ee267b7bb5f486a83736 .svg " src ="_images/14ab3009f0225ec3062c1df720cb3282cec1483fa543ee267b7bb5f486a83736 .svg " />
549546</ div >
550547</ div >
551548< p > 一番最初と最後の楕円は,プログラムの始まり(< code class ="docutils literal notranslate "> < span class ="pre "> START</ span > </ code > )と終わり(< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > )を表す。長方形はコードの処理,そして,矢印はプログラムの実行の順番(フロー)を意味する。単純な例なので,上から下に一直線の実行フローとなっている。より複雑なコードの場合,矢印が横向きや上向きになったりもし,枠も様々な形を使い実行フローを表現することになる。以下では,枠は次の3種類だけを使い制御フローをシンプルな形で表すことにする。</ p >
@@ -650,7 +647,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id3" title="Link to this h
650647</ div >
651648</ details >
652649< div class ="cell_output docutils container ">
653- < img alt ="_images/46b5691093e2c007fe6295b3ddd865876f96a2f18d0c1a7c321f6f1fba0b981e .svg " src ="_images/46b5691093e2c007fe6295b3ddd865876f96a2f18d0c1a7c321f6f1fba0b981e .svg " />
650+ < img alt ="_images/7be3c86d61036647b086c17639356b7f91a5ce7ee9e0ac90c95ad4c33c0f0842 .svg " src ="_images/7be3c86d61036647b086c17639356b7f91a5ce7ee9e0ac90c95ad4c33c0f0842 .svg " />
654651</ div >
655652</ div >
656653< p > 菱形枠中の< code class ="docutils literal notranslate "> < span class ="pre "> ?</ span > </ code > は「判断」を意味するが,上のコードの< code class ="docutils literal notranslate "> < span class ="pre "> #2</ span > </ code > に対応している。< code class ="docutils literal notranslate "> < span class ="pre "> x=10</ span > </ code > は< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > なので,菱形枠から右に移動して< code class ="docutils literal notranslate "> < span class ="pre "> 条件はTrueです</ span > </ code > が表示されることになる。</ p >
@@ -703,7 +700,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id3" title="Link to this h
703700</ div >
704701</ details >
705702< div class ="cell_output docutils container ">
706- < img alt ="_images/576445a1e62afb195df2fec42f90100cba35bd0fd1204c2dd058db59741314be .svg " src ="_images/576445a1e62afb195df2fec42f90100cba35bd0fd1204c2dd058db59741314be .svg " />
703+ < img alt ="_images/e4e8bf1e0c433a8aebb646ae96ca613407c45b3b59a745619a83f3174dd9f682 .svg " src ="_images/e4e8bf1e0c433a8aebb646ae96ca613407c45b3b59a745619a83f3174dd9f682 .svg " />
707704</ div >
708705</ div >
709706< p > < code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > と判断されると,直ぐに< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > となっている。</ p >
@@ -755,7 +752,7 @@ <h3>複数条件<a class="headerlink" href="#id4" title="Link to this heading">#
755752</ div >
756753</ details >
757754< div class ="cell_output docutils container ">
758- < img alt ="_images/f632404fc959b349ad09b47554848cd3172ed783bfaf058287db1622a33abab1 .svg " src ="_images/f632404fc959b349ad09b47554848cd3172ed783bfaf058287db1622a33abab1 .svg " />
755+ < img alt ="_images/51ca227e8850e2c641d990657e03706fa72a758e849c7ff4fd722c5cb0a23867 .svg " src ="_images/51ca227e8850e2c641d990657e03706fa72a758e849c7ff4fd722c5cb0a23867 .svg " />
759756</ div >
760757</ div >
761758< p > このフローチャートをコードに落とし込むと次のようになる。</ p >
@@ -1028,7 +1025,7 @@ <h3>数値を返す例<a class="headerlink" href="#id7" title="Link to this head
10281025</ div >
10291026</ details >
10301027< div class ="cell_output docutils container ">
1031- < img alt ="_images/e7ba31d1c011487998dc1fc8c372b8f8c94435523dccb7aa41a32a2f5eb238a3 .svg " src ="_images/e7ba31d1c011487998dc1fc8c372b8f8c94435523dccb7aa41a32a2f5eb238a3 .svg " />
1028+ < img alt ="_images/199030e5124cbad4e681359f74905ffdc63a2281b5841c9205c30229a19dd9db .svg " src ="_images/199030e5124cbad4e681359f74905ffdc63a2281b5841c9205c30229a19dd9db .svg " />
10321029</ div >
10331030</ div >
10341031< p > ここでは,まず < span class ="math notranslate nohighlight "> \(x=0\)</ span > が< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > か< code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > かを判断し,次に < span class ="math notranslate nohighlight "> \(x>0\)</ span > が< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > か< code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > かを判定している。しかし,図から分かるように,この2つの判断は,非常に似ており,次のように1つにまとめることができる。</ p >
@@ -1060,7 +1057,7 @@ <h3>数値を返す例<a class="headerlink" href="#id7" title="Link to this head
10601057</ div >
10611058</ details >
10621059< div class ="cell_output docutils container ">
1063- < img alt ="_images/2625fe0e9dc8a5f820a332a26f500ed6de060b2141b733d4a019aae7308946a9 .svg " src ="_images/2625fe0e9dc8a5f820a332a26f500ed6de060b2141b733d4a019aae7308946a9 .svg " />
1060+ < img alt ="_images/e00010142ce2cc99a7c0513e2e24fc46d399316f15704563790d9fd038329b46 .svg " src ="_images/e00010142ce2cc99a7c0513e2e24fc46d399316f15704563790d9fd038329b46 .svg " />
10641061</ div >
10651062</ div >
10661063< p > このフローチャートに従って,< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文を使いコードを書いてみよう。</ p >
@@ -1322,7 +1319,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">print()</span><
13221319</ div >
13231320</ details >
13241321< div class ="cell_output docutils container ">
1325- < img alt ="_images/ca06af02625789837416f9a050dc492587485cf6338b0dbc71f3f017dcf0a972 .svg " src ="_images/ca06af02625789837416f9a050dc492587485cf6338b0dbc71f3f017dcf0a972 .svg " />
1322+ < img alt ="_images/d92ba27c185494068e061d9ceed6296cff10b93b26502db8e9d8a1e9479fbb8b .svg " src ="_images/d92ba27c185494068e061d9ceed6296cff10b93b26502db8e9d8a1e9479fbb8b .svg " />
13261323</ div >
13271324</ div >
13281325< p > この図から,< code class ="docutils literal notranslate "> < span class ="pre "> for</ span > </ code > ループの裏では菱形の判断,即ち,< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文が動いていることが分かる。< code class ="docutils literal notranslate "> < span class ="pre "> gdp_components</ span > </ code > の最後の要素のループ処理が終わったかどうかを判断している。</ p >
@@ -2149,7 +2146,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id12" title="Link to this
21492146</ div >
21502147</ details >
21512148< div class ="cell_output docutils container ">
2152- < img alt ="_images/03516fc15570a97a8eb83eb58b4cda507aabbbe40692ab43a76f73c9b675ed4c .svg " src ="_images/03516fc15570a97a8eb83eb58b4cda507aabbbe40692ab43a76f73c9b675ed4c .svg " />
2149+ < img alt ="_images/95f38befd63b8cf75d0cdeb006cd25cf9167e8bff6a156a745f03f9522b8ee25 .svg " src ="_images/95f38befd63b8cf75d0cdeb006cd25cf9167e8bff6a156a745f03f9522b8ee25 .svg " />
21532150</ div >
21542151</ div >
21552152< p > この図から,最後の< code class ="docutils literal notranslate "> < span class ="pre "> counter+=1</ span > </ code > がなければ無限ループに陥ってしまうことが分かると思う。また,< code class ="docutils literal notranslate "> < span class ="pre "> for</ span > </ code > ループ同様,菱形で< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文が裏で働いていることが分かる。一方で,< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文の判断で次の点で異なる。</ p >
@@ -2220,7 +2217,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id12" title="Link to this
22202217</ div >
22212218</ details >
22222219< div class ="cell_output docutils container ">
2223- < img alt ="_images/1468b5d816b848ea791e816790d20c51521b43de224485bb0d98c4f735c23170 .svg " src ="_images/1468b5d816b848ea791e816790d20c51521b43de224485bb0d98c4f735c23170 .svg " />
2220+ < img alt ="_images/184415254ae27007c6c98851b212fedb4c02b3daa6b62ad205c2898141e3b8e7 .svg " src ="_images/184415254ae27007c6c98851b212fedb4c02b3daa6b62ad205c2898141e3b8e7 .svg " />
22242221</ div >
22252222</ div >
22262223< p > 上のフローチャートと比べると,菱形枠と< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > の間に< code class ="docutils literal notranslate "> < span class ="pre "> print('無事終了(^^)')</ span > </ code > が追加されている。</ p >
@@ -2463,7 +2460,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
24632460</ div >
24642461</ details >
24652462< div class ="cell_output docutils container ">
2466- < img alt ="_images/bd218970283f115c5a4b0d7d16e35ed19e421708473f779259ab0702efdbb7f7 .svg " src ="_images/bd218970283f115c5a4b0d7d16e35ed19e421708473f779259ab0702efdbb7f7 .svg " />
2463+ < img alt ="_images/a887ab28cd49a9914c4f6dbd04de1849cff4427a73784a406725af15a5a39f0c .svg " src ="_images/a887ab28cd49a9914c4f6dbd04de1849cff4427a73784a406725af15a5a39f0c .svg " />
24672464</ div >
24682465</ div >
24692466< p > この例に基づいて,< code class ="docutils literal notranslate "> < span class ="pre "> 1</ span > </ code > から< code class ="docutils literal notranslate "> < span class ="pre "> 5</ span > </ code > までの数字を< code class ="docutils literal notranslate "> < span class ="pre "> 3</ span > </ code > を飛ばして< code class ="docutils literal notranslate "> < span class ="pre "> 1</ span > </ code > ,< code class ="docutils literal notranslate "> < span class ="pre "> 2</ span > </ code > ,< code class ="docutils literal notranslate "> < span class ="pre "> 4</ span > </ code > ,< code class ="docutils literal notranslate "> < span class ="pre "> 5</ span > </ code > を表示するとしよう。その場合に重宝するのが< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文と< code class ="docutils literal notranslate "> < span class ="pre "> continue</ span > </ code > (対象コードの実行を飛ばすコード)の組み合わせである。まず,フローチャートで表してみよう。</ p >
@@ -2503,7 +2500,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25032500</ div >
25042501</ details >
25052502< div class ="cell_output docutils container ">
2506- < img alt ="_images/6bd01b877ca9cdaec7eb796acb6fd711b0064d5088bf9924b372abfc152b9fcc .svg " src ="_images/6bd01b877ca9cdaec7eb796acb6fd711b0064d5088bf9924b372abfc152b9fcc .svg " />
2503+ < img alt ="_images/5db9be6b8d97c7960f3a38c324a4eb73f864c8bfa2d125c7814f7abdae6843dc .svg " src ="_images/5db9be6b8d97c7960f3a38c324a4eb73f864c8bfa2d125c7814f7abdae6843dc .svg " />
25072504</ div >
25082505</ div >
25092506< p > 上のフローチャートと異なる点は,下の菱形が追加されていることだけであり,その菱形を< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文で捉えることができる。更に,下の菱形から上の菱形への矢印(< code class ="docutils literal notranslate "> < span class ="pre "> 3</ span > </ code > の表示を飛ばす)を< code class ="docutils literal notranslate "> < span class ="pre "> continue</ span > </ code > で実行することになる。コードを書いてみよう。</ p >
@@ -2525,9 +2522,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25252522</ div >
25262523< div class ="cell_output docutils container ">
25272524< div class ="output stream highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > 1
2528- </ pre > </ div >
2529- </ div >
2530- < div class ="output stream highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > 2
2525+ 2
253125264
253225275
25332528</ pre > </ div >
@@ -2590,7 +2585,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25902585</ div >
25912586</ details >
25922587< div class ="cell_output docutils container ">
2593- < img alt ="_images/9dfa775809f7b939bdb887cd19a3083541deacb4bff7aab6faa1b6bfe465b24f .svg " src ="_images/9dfa775809f7b939bdb887cd19a3083541deacb4bff7aab6faa1b6bfe465b24f .svg " />
2588+ < img alt ="_images/f149168cd78c83347b61211a19ed00799ea45e54e7fd0f98b63825aba8a2c4e7 .svg " src ="_images/f149168cd78c83347b61211a19ed00799ea45e54e7fd0f98b63825aba8a2c4e7 .svg " />
25942589</ div >
25952590</ div >
25962591< p > 菱形の中は< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > なので,必ず< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > の矢印の方向に沿ってコードは実行される。< code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > も書いてあるが,そちらの矢印に決して進むことはない。</ p >
@@ -2628,7 +2623,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
26282623</ div >
26292624</ details >
26302625< div class ="cell_output docutils container ">
2631- < img alt ="_images/7d940e802c7aa77cedb0ad3f709bb98577f097852e6e7393ddee97cb509216f8 .svg " src ="_images/7d940e802c7aa77cedb0ad3f709bb98577f097852e6e7393ddee97cb509216f8 .svg " />
2626+ < img alt ="_images/8447131f39be1d47d1a3434b3a82dbc825a32de8ac9bc1f1ee6358a08a1cd144 .svg " src ="_images/8447131f39be1d47d1a3434b3a82dbc825a32de8ac9bc1f1ee6358a08a1cd144 .svg " />
26322627</ div >
26332628</ div >
26342629< p > 上のフローチャートと異なるのは,下の菱形(< code class ="docutils literal notranslate "> < span class ="pre "> 条件?</ span > </ code > )を追加することにより,< code class ="docutils literal notranslate "> < span class ="pre "> while</ span > </ code > ループは維持するとともに< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > への矢印を追加した点である。</ p >
@@ -2711,7 +2706,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
27112706</ div >
27122707</ details >
27132708< div class ="cell_output docutils container ">
2714- < img alt ="_images/f28d9c8bdeba29be540de7035bc311806e572da349119977bc9b49af94432ea2 .svg " src ="_images/f28d9c8bdeba29be540de7035bc311806e572da349119977bc9b49af94432ea2 .svg " />
2709+ < img alt ="_images/a13ff4a5ff84785218b9ea19b4fd5ec63a4fefec66bfaf47a7c1909896125544 .svg " src ="_images/a13ff4a5ff84785218b9ea19b4fd5ec63a4fefec66bfaf47a7c1909896125544 .svg " />
27152710</ div >
27162711</ div >
27172712< p > 上のコードの< code class ="docutils literal notranslate "> < span class ="pre "> #4</ span > </ code > 〜< code class ="docutils literal notranslate "> < span class ="pre "> #6</ span > </ code > を少し書き換えて,次のようにしても同じ結果が返される。</ p >
@@ -2844,7 +2839,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">continue</span>
28442839</ div >
28452840</ details >
28462841< div class ="cell_output docutils container ">
2847- < img alt ="_images/725f3a3d9213d1f5ee14f64978de7dad5cdfdb2e01e1f7b80ec452bc9dfc1502 .svg " src ="_images/725f3a3d9213d1f5ee14f64978de7dad5cdfdb2e01e1f7b80ec452bc9dfc1502 .svg " />
2842+ < img alt ="_images/c7c30ddd5a6eb49215adac0818fcfa593db6854a16d4950b701bdcf7e6845010 .svg " src ="_images/c7c30ddd5a6eb49215adac0818fcfa593db6854a16d4950b701bdcf7e6845010 .svg " />
28482843</ div >
28492844</ div >
28502845</ section >
0 commit comments