スポンサーリンク

【Python】for文の使い方。ループ・繰り返し処理の書き方。【初心者】

スポンサーリンク
スポンサーリンク
この記事は約5分で読めます。

ループ・繰り返し処理に使われるfor文の構造

for文を使うことで繰り返し処理を作ることができます。

for文の構造は以下のようになっています。

for 変数 in シーケンス:

繰り返し中の処理

 

・forは繰り返し処理を行うための命令です。

・変数はループ中に値が増えたり減ったり変化するものです。

ループ中に値がどんどん変化していく中で、値に応じて処理を分岐させたりします。

変数はi,jと言った数学で使うような文字を充てることもあれば、name,ageのような意味のある文字を変数名として充てることもあります。

わかりやすい変数名にすることで、自分や他の人が後から読み返すときにプログラムの意味がわかりやすくなります。

・inはforと同じで繰り返し処理を作るために記述します。固定文言です。

・シーケンスは数字の集まりや、リスト・タプルなど値の集合などが入ります。

シーケンスに指定された数字や文字や変数の集まりの1つずつに対して処理を行います。

・繰り返し中の処理を書くときは、必ずインデントと呼ばれる4つの半角スペースが必要です。

半角スペースを4回打ったり、タブキーを1回打ったりで流派・好みが分かれます。

Pythonはこのインデントと呼ばれるスペースを厳密に見るので、これが正しくないと実行するときにエラーになってしまいます。

 

 

for文の使い方

 

range関数を使った繰り返し処理

1から100までの数字を順番に表示するプログラムを書いてみます。

詳細はコードの後に解説しています。

・「for」は繰り返し処理を記述するための命令です。

・「i」は変数です。「i」以外の文字でも構いません。

わかりやすいような変数名にしておくとプログラムを後から読み返すとき、他の人が読むときに理解しやすくなります。

・以下の例では、iの代わりにnumberを変数として使いました。

print関数のカッコの中身(引数)もiからnumberに変えています。

 

・range()は指定した個数、または指定した範囲の数字を作ります。

・range関数で作られた数字の集まりは、シーケンスと呼ばれる型です。シーケンス型は繰り返し処理で扱うことができます。

・range関数は何も指定しなければ0から始まります。また、最後の数字は含まれません。

そのため、range(0,50)とすると0~49になりますし、101~1000を指定したいときはrange(101,1001)になります。

 

変数の増減幅を指定して繰り返し処理

1から100までの数字を1個飛ばしで表示します。

・1から100までの中で、ループ変数numberを2ずつ増やしながら表示しています。

1からスタートするので次は3、その次は5と増加していきます。

99まで到達すると、次の数字は101になりますが、range関数では100までで指定しているので、

99が最後に表示されて終了します。

・range関数の3つ目の引数(カッコの中の3つ目の数字)で増減幅を指定することができます。

→range(1, 101, 2)

 

 

変数を減らしながら繰り返し処理

1から100までの数字を逆から表示します。

range関数でスタートは100、終了は0をしています。

先ほど書いている通り、rangeは最後の数字である0は含まないので、100から1までの繰り返し処理になります。

また3つ目の引数(カッコの中の3つ目の数字)で-1を指定しているので、

100からスタートして1ずつ変数numberは減少していきます。

 

 

リストを使った繰り返し処理

リスト内のそれぞれの要素に順番に処理を行うことは非常に多いです。

使用頻度も高いのでここでおさらいします。

 

リストは数字や文字列、それらを保持する変数を扱うことができるシーケンスです。

 

リスト内の各要素は追加、変更、削除ができます。また、リストどうしを結合したり、リスト内のある要素まで、もしくはある要素以降だけを抽出することもできます。

 

以下はリストを使ったfor文の処理です。

 

リスト内の各要素を順に表示しています。

 

タプルを使った繰り返し処理

文字列を使った繰り返し処理

辞書を使った繰り返し処理

 

 

if文と組み合わせて使う

 

 

 

まとめ

 

・Python記事一覧

 

 

LeetCodeというサイトでfor文とif文を使う練習をしてみましょう。

英語なので大変ですが、とても勉強になりますよ。

Sign of the Product of an Array – LeetCode

このサイトでも解答を書いています。

問題にあたってみてわからなければ、こちらの記事も読んでみてください。

1822. Sign of the Product of an Array

コメント