「出身は大阪です、よろしくお願いします。」
「出身は北海道です、よろしくお願いします。」
「出身は千葉です、よろしくお願いします。」
例えばこのように、違うのは一ヶ所だけで他は同じ文字列を出力したい時には、繰り返し処理を使うと非常に便利です。
【この記事はこんな方に向けて書いています】
・pythonの繰り返し処理について勉強したい
・for文とwhile文の違いについて知りたい
【目次】
・for文
・while文
・無限ループの例
・for文とwhile文の違い
・まとめ
繰り返し処理を行う時は、for文を使ってコードを書きます。ここでは上記の自己紹介文を、for文を使って書いてみます。
順番に解説します。
まず変数hometowns(以下、リスト名)に['大阪','北海道','千葉']を代入してリストを作成します。
そしてリスト名の単数形である変数hometownを用いて、「for 変数 in リスト名:」と書いてEnter→半角スペース4つ字下げ(インデント)します。改行した時点で半角スペース2つ字下げされているので、あと2つインデントすれば大丈夫です。
インデントした後に「実行結果に反映させたい処理(ここでは自己紹介文)」を書きます。
繰り返し処理には、for文以外にも、while文を使ってコードを書く方法があります。
まず「while 条件:」と書いてEnter→半角スペース4つ字下げ(インデント)します。
インデントした後に「条件を満たす限り、繰り返したい処理」を書きます。
例えばレストランで順番待ちの時に、「番号札○○番でお待ちのお客様、お待たせ致しました」という呼び出しを、while文を使って出力してみます。
順番に解説します。
ここでは1番から4番までの番号札を持っている人が呼ばれると仮定し、まず一番上に「number = 1」と書きます。
次に「while 条件:」の部分です。ここでの条件は「1番から5番未満」です。
そしてEnter→半角スペース4つ字下げ(インデント)した後に「条件を満たす限り、繰り返したい処理」を書きます。
str(number)の部分は、整数型の変数numberを文字列型に変換する時の記述です。
データ型の型変換については、こちらの記事で簡単に解説していますので、よければご覧下さい。
そして最後に「1番が終わったら2番の処理」を実行するために「number = number + 1」と書き、numberを1番から2番に更新します。
この記述は非常に重要で、この記述が無かったり、半角スペース4つ字下げ(インデント)せずに記述すると、numberがずっと1番のまま更新されず、無限に処理を繰り返し、コンピューターに負荷がかかってしまいます。
このことを無限ループと言い、繰り返し処理を行う時の注意点です。
・「number = number +1」の記述が無い
・「number = number +1」を半角スペース4つ字下げ(インデント)せずに記述
ちなみに、「number = number +1」の部分は「number += 1」と書いても同じ意味になります。
例えば「x = x + 1」と「x += 1」は同じ意味になります。感覚的には「x = x + 1」の方がわかりやすいですが、「x += 1」という書き方も覚えておくとコンパクトなコードを書くことができます。
for文とwhile文の違いを簡単に書くと以下の通りです。
for文:○○回繰り返すと指定し、○○回繰り返したら処理が終了
while文:条件を満たす限り繰り返し、条件を満たし終えたら処理が終了
まとめ
・繰り返し処理を行う時は、for文やwhile文を使う
・for文とwhile文では処理が終了する条件が違う
・while文では無限ループに注意する
ここまで読んで頂きありがとうございました。
-------------------------------------------------------------------------------------
当ブログの記事一覧(カテゴリー別)