準備をしよう
下のURLをクリックして、「paiza.IO」を開いてください。
https://paiza.io/ja/projects/new
学習内容
繰り返しとは
繰り返しとは、プログラミングの基本処理の1つで、同じ処理を繰り返すことです。
同じ処理を何度も書いて実行させるのは効率が悪いです。プログラミングでは、繰り返しという処理を使うことで、コンピュータに同じことを何度も実行させることができます。
回数を指定して繰り返す、何かの条件が満ちるまで繰り返す、など繰り返しのパターンがいくつかあり、それによって、構文も異なります。
ここでは、代表的なPythonの繰り返し処理を紹介します。
while文
ある条件が満ちるまで繰り返すものです。
イメージ
ある処理に入る前に「Yes?」と聞かれ、Yesなら処理を再度実行、Noならそこで終了、という動作をします。
書き方
以下のように書きます。
- whileの隣の( )を「条件式」と呼びます。これは、真偽値(TrueかFalseになるもの)が返る式です。
- 「繰り返す処理」は、条件式がTrueになる間は、ずっと繰り返されます。条件式がFalseになったら繰り返しを終了します。
具体的に見ていきましょう。
- 変数「num」をもともと1で初期化しておきます。条件式は「num <= 5」なので、numが5まではTrueになり続けるので、繰り返しを継続します。
- 「繰り返す処理」は、numの中身を表示するのと、numを1上げています。これで繰り返すたびに、numが1ずつ増えていきます。
※ インデントについて
字下げのことをインデントといいます。Pythonでは、インデントに意味があるので、変にインデントをするとエラーが起きます。
繰り返し処理の際、繰り返しの中身の処理は、インデントを使います。それによって、中に入っていることを示します。
インデントの方法は、Tabキーは使わず、半角スペースで行う方がよいです。(通常半角スペース4こ)
練習
paiza.IOに、以下のコードを入れて下さい。
num = 1
while num <= 3:
print(num)
num += 1
※ 「num += 1」は「num = num + 1」と同じ意味です。1だけ加算します。
実行結果
コードを実行してみましょう。
1
2
3
for文
回数を指定して繰り返すものです。
イメージ
単純に、指定回数まで繰り返す、という動作をします。
書き方
以下のように書きます。
- range(回数)のところで、繰り返しの回数を指定します。回数は「0」から始まり、繰り返すごとに、指定数の1つ前まで上がっていきます。(「3」と指定した場合、「0」→「1」→「2」)
- numには、上記「0」→「1」→「2」が、繰り返すごとに順番に入ります。これを「カウンタ変数」といいます。(カウンタ変数名は「num」である必要はなく、名前は自由につけられます。)
- カウンタ変数は、「繰り返す処理」の中でも利用することができます。
具体的に見ていきましょう。
- 繰り返し回数を「3」として指定しています。
- numには、「0」→「1」→「2」と繰り返しごとに、順番に入ります。
- 繰り返し処理内では「num」を利用し、print()で表示しています。
練習
paiza.IOに、以下のコードを入れて下さい。
for num in range(3):
print(num)
実行結果
コードを実行してみましょう。
0
1
2
for文 + リスト
リストの中身を順番に取り出す処理です。
イメージ
リストを頭から順番に取り出して、何らかの処理を行います。
書き方
以下のように書きます。
- 「リスト」のところで、利用するリストを指定します。リストの「0」番目から始まり、繰り返すごとに最後の要素まで進みます。
- 「data」はリストから取り出した要素を保存するための変数です。リストから該当番号の要素を取り出してdataに保存します。(変数は「data」である必要はなく、名前は自由につけられます。)
- 変数は、「リスト要素を使った処理」の中で利用します。
具体的に見ていきましょう。
- あらかじめリスト「fruits」を生成し、for文で利用しています。
- 変数「fruit」には、リスト「fruits」から繰り返しごとに、順番に要素が取り出され保存されます。
- 処理内では「fruit」を利用し、print()で表示しています。
練習
paiza.IOに、以下のコードを入れて下さい。
fruits = ["apple", "orange", "melon"]
for fruit in fruits:
print(fruit)
実行結果
コードを実行してみましょう。
apple
orange
melon
コード全体
練習
# while文
num = 1
while num <= 3:
print(num)
num += 1
# for文
for num in range(3):
print(num)
# for文 + リスト
fruits = ["apple", "orange", "melon"]
for fruit in fruits:
print(fruit)
実行結果
1
2
3
0
1
2
apple
orange
melon
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
まとめ
以上になります。今回は繰り返しについてお伝えしました。
今回紹介したwhile文とfor文は繰り返しの基本構文です。実際には、これらを応用して様々な処理を作ります。まずは、手を動かしながら、概念と使い方を理解して下さい。