こんにちは!hikaruです!
プログラミング初心者の方向けにPythonでの繰り返し処理をわかりやすく解説します。
繰り返し処理とは
プログラミングをしていると、同じ処理(コード)を何度も書く場合があります。
例えば、”Hello World”を5回表示させるとしましょう。
下記を参考にしてください。
print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
Hello World
Hello World
Hello World
Hello World
Hello World
如何でしょうか?
行数も多く、何よりかっこ悪いですね(^^);
今回は5回”Hello World”を出力させましたが、100回出力させる場合は100回 print(“Hello World”)を書かなくてはいけません。
このような何度も同じ処理を繰り返す際は、繰り返し処理を抑えましょう。
繰り返し処理は、for文とwhile文があります。
for分による繰り返し処理
Hello Worldを出力する
先ほどの処理をfor文で記述してみましょう。
for i in range(5):
print("Hello World")
Hello World
Hello World
Hello World
Hello World
Hello World
たったの2行で5回”Hello World”を出力できました!
楽々ですね!100回繰り返す、1,000回繰り返す場合でもたったの2行で済みます。
すごい便利なので、しっかり覚えましょう!
構文解説
簡単に解説します。
少し難しく感じてしまうかもしれませんが、読み飛ばしてOKです!
使い方を覚えたら、以下の内容は知らなくても問題ありません。
理屈より、自分のしたいことができるようになることの方が重要です。
for 変数 in オブジェクト:
繰り返したい処理
- 変数•••ここで覚える必要はありません。省略可能です。慣習として「i」が使われます。他の文字でも全然OKです!
- オブジェクト•••ここでは、「繰り返す回数」という認識でOKです!rangeの括弧の中に繰り返したい回数を入力します。ちなみにオブジェクトとは、日本語で「物」です。なんとなく、そんな言葉があるんだなぁ〜くらいでいいです(^^)w
- 「:」•••一行目の一番最後にコロンを付ける!!忘れがち!!コロンがないとエラーになります。
変数を省略する際は「_(アンダーバー)」を使います。
for _ in range(5):
print("Hello World")
#出力結果は省略 Hello Worldが5回出力されます。
while文による繰り返し
Hello Worldを出力する
while文による繰り返しは、for文に比べて少しだけ難易度が高いです。
変数についての理解がないと難しいですね。
while文で”Hello World”を5回出力させるコードは下記です。
count = 0
while count < 5:
print("Hello World")
count += 1
#出力結果は省略 Hello Worldが5回出力されます。
while文は理解しないで、使用するのは避けましょう。
無限ループと言って、処理が永遠に継続されてしまう可能性があります。
今回のケースでは無限に”Hello World”が出力され続けます。
完璧に理解してからwhile文に触れましょう!
構文解説
①count=0 変数の宣言です。ここでは「0」が代入されています。
②while count < 5: while文である宣言と、countという変数が5より小さい時に繰り返しをします。コロンを忘れずに!エラーになります。
③print(“Hello World”) 繰り返したい処理です。
④count += 1 countという変数に1を足します。その後②に戻り繰り返します。countが5になるまで繰り返されるます。*この処理を書かないとcountは永遠に0なので無限ループに入ります。(countが5以上なることは絶対にないため)最悪の場合、PCが壊れることもあるそうです。(試したことはありませんw)
下記がwhile文の構文(正しい文法)です。
変数を初期化
while 条件式:
繰り返したい処理
変数を更新
入れ子(ネスト)にする
繰り返し処理は、入れ子(ネスト)にすることができます。
入れ子(ネスト)とは、繰り返し処理(や条件分岐)の内部に、繰り返し処理(や条件分岐)が含まれていることです。
実際にプログラミングを実行させましょう。
頭の体操です(^^)
下記のコードを実行させると、どんな出力が出てくるか考えてみましょう。
for x in range(3):
for y in range(3):
print(x+1,y+1)
実行結果です。↓
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
☆解説☆
1回目の処理は、1個目のfor文の1回目で、2個目のfor文の1回目です。
1回目の処理は x=0,y=0 です。 x+1,y+1 なので、x=1,y=1です。
2回目の処理は、1個目のfor文の1回目で、2個目のfor文の2回目です。
3回目の処理は、1個目のfor文の1回目で、2個目のfor文の3回目です。
4回目の処理は、1個目のfor文の2回目で、2個目のfor文の1回目です。
言葉で説明されると余計にわかりづらいですねw
実行結果にコメントを付けてみました。
1 1 #1個目のfor文の1回目で、2個目のfor文の1回目
1 2 #1個目のfor文の1回目で、2個目のfor文の2回目
1 3 #1個目のfor文の1回目で、2個目のfor文の3回目
2 1 #1個目のfor文の2回目で、2個目のfor文の1回目
2 2 #1個目のfor文の2回目で、2個目のfor文の2回目
2 3 #1個目のfor文の2回目で、2個目のfor文の3回目
3 1 #1個目のfor文の3回目で、2個目のfor文の1回目
3 2 #1個目のfor文の3回目で、2個目のfor文の2回目
3 3 #1個目のfor文の3回目で、2個目のfor文の3回目
ややこしいですね(^^)w
さらに、条件分岐(if文)などを入れ子にすることで、プログラミングの幅が広がります。
最後に
プログラミング学習は、頭の体操です。
「習うより、慣れろ」です(^^)!
たくさんコーディングして、メキメキと力をつけましょう!!
おすすめのプログラミング学習サイトを紹介します。
環境構築不要で、無料で学習できます。
paizaはCランク問題を解くことで、多くのIT企業からスカウトをもらえるようになります。
プログラミング学習をして、IT業界に就職や転職をしたい方は、paizaがおすすめです(^^)♪
progate
paiza
これからPython学習を一緒に頑張っていきましょう。
応援しています(^^)
最後までお付き合いいただきまして、ありがとうございます。
よろしければ、下記の関連記事も参考にしてください。
コメント