<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>while - プログラミングで遊ブログ</title>
	<atom:link href="https://lemon818.com/tag/while/feed/" rel="self" type="application/rss+xml" />
	<link>https://lemon818.com</link>
	<description>現役システムエンジニアが趣味でプログラミングする自由気ままなブログ</description>
	<lastBuildDate>Thu, 09 Jul 2020 14:33:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>	<item>
		<title>【Python】while文（ループ、繰り返し文、抜ける方法）書き方をご解説！</title>
		<link>https://lemon818.com/python-while/</link>
		
		<dc:creator><![CDATA[Take]]></dc:creator>
		<pubDate>Thu, 09 Jul 2020 12:56:23 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[while]]></category>
		<category><![CDATA[ループ]]></category>
		<category><![CDATA[抜ける]]></category>
		<category><![CDATA[繰り返し文]]></category>
		<guid isPermaLink="false">https://lemon818.com/?p=4806</guid>

					<description><![CDATA[どーも Takeです。 この記事では、Python の 「while文」 をつかったループ文について解説します。 &#160; Python でコーディングする際、必ず取っていいほどループ文を書くことになります。 そんな…]]></description>
										<content:encoded><![CDATA[<p>どーも Takeです。</p>
<p>この記事では、Python の 「while文」 をつかったループ文について解説します。</p>
<p>&nbsp;</p>
<p>Python でコーディングする際、必ず取っていいほどループ文を書くことになります。</p>
<p>そんなときにこの記事を参考にぜひ while 文をマスターしていただければと思います。</p>
<p>&nbsp;</p>
<div class="sc_frame_wrap block blue">
<div class="sc_frame_title">この記事でわかること！</div>
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid blue">
<ol>
<li>while 文の基本的な書き方</li>
<li>ループ文を途中で抜ける方法（break）</li>
<li>ループ文を途中でスキップし、次の処理を行う方法（continue）</li>
<li>while文の条件を満たさないときは「 else 」で処理分岐できる！</li>
<li>無限ループの書き方</li>
<li>無限ループでやらかした時（俺の処理は終わらねえ～！！）</li>
<li>do while 文の書き方（Python には do while文がありません...）</li>
</ol>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<h2>while 文の基本的な書き方</h2>
<p>まずは基本的な書き方をご紹介します。</p>
<p>while 文は下記のように書くのが基本です。</p><pre class="crayon-plain-tag">while 条件式:
　　　処理</pre><p>
&nbsp;</p>
<p>while 文を書く場合、</p>
<div class="sc_designlist ol square solid blue">
<ol>
<li>まず条件式をつくる</li>
<li>条件式を満たす場合の処理を書く</li>
</ol>
</div>
<p>&nbsp;</p>
<p>0 から 9 までの数字を表示させるソースコードです。</p><pre class="crayon-plain-tag">i = 0

while i &lt; 10:

    print(i)
    i+=1</pre><p>
&nbsp;</p>
<p>まず、変数i = 0 を定義し、i をループ文の中で print させつつインクリメント（1ずつ増やす、i+=1 の箇所）させています。</p>
<p>ループ文の条件式は「i &lt; 10」であるため、「i が 10 より小さい数字の間、処理がループする（繰り返し実行される）」ということです。</p>
<p>&nbsp;</p>
<p>実行結果は下記になります。</p><pre class="crayon-plain-tag">0
1
2
3
4
5
6
7
8
9</pre><p>
&nbsp;</p>
<p>ここで注意が<span style="color: #ff0000;"><strong>インクリメント忘れ</strong></span>です。</p>
<p>これを忘れると「i」 がずっと0になり、while 条件式は i &lt; 10 のため、<span style="color: #ff0000;"><strong>無限ループしていまいます</strong></span>。</p>
<p>&nbsp;</p>
<h2>ループ文を途中で抜ける方法（break）</h2>
<p>つぎにループを途中で抜ける方法（break文）について説明します。</p>
<p>たとえば下記のようなソースコードがあるとします。</p><pre class="crayon-plain-tag">i = 0

while i &lt; 10:

    if i == 3:
        print("three")
        break

    print(i)
    i+=1</pre><p>
&nbsp;</p>
<p>これは変数 i = 3 のときに「three」と表示させ処理を終了させることです。</p>
<p>break文は条件式「if」と組み合わせてことが多いですが、</p>
<p>「ある条件を満たした場合に処理を終了させたい！」というときには便利です。</p>
<p>&nbsp;</p>
<p>ちなみに実行結果は下記のようになります。</p><pre class="crayon-plain-tag">0
1
2
three</pre><p>
&nbsp;</p>
<h2>ループ文を途中でスキップし、次の処理を行う方法（continue）</h2>
<p>つぎにループ文を途中でスキップし、次の処理を行う方法（continue）について説明します。</p>
<p>&nbsp;</p>
<p>私はプログラミング初心者だった時、「continueがよくわからん」となっていました。</p>
<p>これは「continueが<span style="color: #ff0000;"><strong>ない</strong></span>とき、<span style="color: #0000ff;"><strong>ある</strong></span>とき」で比較すると簡単に理解できます。</p>
<p>&nbsp;</p>
<p>まず「continue が<span style="color: #ff0000;"><strong>ない</strong></span>とき」のソースコードがあるとします。</p><pre class="crayon-plain-tag">i = 0

while i &lt; 10:

    if i == 3:
        print("three")

    print(i)
    i+=1</pre><p>
&nbsp;</p>
<p>これは「i = 3」のときに「three」の表示させた場合の例です。</p>
<p>特に continue 処理をしてないので、実行結果は下記のようになります。</p><pre class="crayon-plain-tag">0
1
2
three
3
4
5
6
7
8
9</pre><p>
&nbsp;</p>
<p>まず「continue が<span style="color: #0000ff;"><strong>ある</strong></span>とき」のソースコードがあるとします。</p><pre class="crayon-plain-tag">i = 0

while i &lt; 10:

    if i == 3:
        print("three")
        i+=1
　　　　　continue

    print(i)
    i+=1</pre><p>
&nbsp;</p>
<p>これはさきほどの「continue が<span style="color: #ff0000;"><strong>ない</strong></span>とき」例に continue 処理を追加した場合の例です。</p>
<p>&nbsp;</p>
<p>「i = 3」の条件を満たす場合、continue 処理を追加しているため、</p>
<p>continue 以下の処理はスキップされ、下記のように「3」を表示する処理がなくなります。</p><pre class="crayon-plain-tag">0
1
2
three
4
5
6
7
8
9</pre><p>
&nbsp;</p>
<p>「continue」文を書く上での注意点として、<span style="color: #ff0000;"><strong>無限ループにならないようにする</strong></span>ことです。</p>
<p>&nbsp;</p>
<p>例として示した 「continue」文はインクリメント（1ずつ増やす、i+=1 の箇所）より前に記載しているため、</p>
<p>「continue」文がインクリメント処理をスキップすると、変数「i」の値が変わらず、永遠にインクリメントされない場合があります。</p>
<p>&nbsp;</p>
<h2>while文の条件を満たさないときは「 else 」で処理分岐できる！</h2>
<p>while 文が条件を満たさない場合、「else」で処理分岐もできます。</p>
<p>何言ってるかわからない方は下記をご覧ください。</p><pre class="crayon-plain-tag">i = 0

while i &lt; 5:
    print(i)
    i+=1
    
else:
    print("終わり！")</pre><p>
&nbsp;</p>
<p>これは変数「i」が 0 ～ 5 の間で print で表示させる処理をしています。</p>
<p>&nbsp;</p>
<p>この処理を抜ける、つまり i = 6になった場合、while 文を抜けループ処理が終了しますが、</p>
<p>その際に「else」をつかうことで「終わり！」と表示させるように処理を分岐しています。</p>
<p>&nbsp;</p>
<p>このように「else」をつかうことで <strong><span style="color: #0000ff;">while 文の処理の終了時の処理分岐</span>することができます</strong>。</p>
<p>&nbsp;</p>
<h2>無限ループの書き方</h2>
<p>while 文で無限ループさせるためには、</p>
<p>下記のように「while True：」と書きます（True の「T」は<span style="color: #0000ff;"><strong>大文字</strong></span>です）。</p><pre class="crayon-plain-tag">i = 0

while True:
    print(i)
    i+=1</pre><p>
&nbsp;</p>
<p>※ 上記は<span style="color: #ff0000;"><strong>無限ループ</strong></span>するため、実行させる場合は注意してください！！</p>
<p>&nbsp;</p>
<h2>無限ループでやらかした時（俺の処理は終わらねえ～！！）</h2>
<p>while 文で書き間違えたりして無限ループする場合があります。</p><pre class="crayon-plain-tag">i = 0

while True:
    print(i)
    i+=1</pre><p>
&nbsp;</p>
<p>そのときはキーボード入力で下記コマンドを入力することで</p>
<p>処理を強制的に中断させることができます。</p>
<div class="sc_designlist li fa_angle_o blue">
<ul>
<li>Windows ・・・ Ctrl + C</li>
<li>Mac ・・・ control + C</li>
</ul>
</div>
<p>&nbsp;</p>
<h2>do while 文の書き方（Python には do while文がありません...）</h2>
<p>「do while」文とは 「while」文とは若干異なる文法で、</p>
<p>「while」文は条件を満たす場合にループ処理しますが、</p>
<p>「do while」条件にかかわらず、<strong><span style="color: #0000ff;">必ず初回実行</span></strong>されます。</p>
<p>&nbsp;</p>
<p>そのため、さまざまなプログラミング言語でつかわれることもありますが、</p>
<p><span style="color: #ff0000;"><strong>Python には「do while」文がありません。</strong></span></p>
<p>&nbsp;</p>
<p>ですので、どうしても「do while」を使いたい場合は下記のようにします。</p>
<div class="sc_designlist ol square solid blue">
<ol>
<li>必ず初回実行されるような条件式にする</li>
<li>あえて無限ループにし、条件式で break 処理する</li>
</ol>
</div>
<p>&nbsp;</p>
<p>「必ず初回実行されるような条件式にする」は「<span style="color: #ff0000;"><strong>そりゃそうやろ！</strong></span>」</p>
<p>ってなると思うので、「あえて無限ループにし、条件式で break 処理する」を説明します。</p>
<p>&nbsp;</p>
<p>下記ソースコードをご覧ください。</p><pre class="crayon-plain-tag">i = 0

while True:
    
    print(i)
    i+=1
    
    if i == 3:
        break</pre><p>
&nbsp;</p>
<p>「while True：」は無限ループの記述方法ですが、これがあるかぎり必ず一回目の処理は実行されます。</p>
<p>&nbsp;</p>
<p>そして「if」文の条件式をつかい処理を「break(途中終了)」させることで Python 版の「do while」文を実行できます。</p>
<p>&nbsp;</p>
<h2>最後に</h2>
<p>いかがでしたでしょうか？</p>
<p>この記事では while 文の処理についてまとめました。</p>
<p>&nbsp;</p>
<p>ループ文は必ず Python のコーディングをする上で必要な知識です。</p>
<p>この記事を参考にぜひ while 文をマスターできれば幸いです。</p>
<p>ではでは。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
