Pythonの繰り返し処理、forとwhileを知る
執筆者:南波真之
※本記事は吉政創成株式会社「Python学習とキャリアアップ」より寄稿されたコラムとなります。

皆さん、こんにちは。
南波真之(なんばさねゆき)と申します。
私は現在、Pythonについて勉強を進めています。というのも、AIやデータ分析、アプリケーション開発など様々な状況でPythonは活用されており、テクノロジー業界で活躍していくためには必要だと思っているからです。と言っても、私はエンジニアではない文系の人間です。
「解きながら学ぶ Pythonつみあげトレーニングブック」を使って、Pythonの一番基本的なところを学んでいます。そこで、自分で学習してきて感じたポイントや疑問、皆さんにシェアできることを書いていきます。
今回は、P.100〜P.117の部分になります。テーマはPythonでロジックを組み立てていく際に重要な、繰り返し処理についてです。
コンピュータは繰り返し処理が得意なため、その特性をうまく活かすためにforとwhileという2つの方法があります。その使い方や違いについて学んでいきます。
繰り返し処理とは
プログラミングにおける繰り返し処理とは、同じ処理を何度も行う必要がある場合にその回数分の記述を書くことなく、1回繰り返し処理を書くことで繰り返しを行うことができるものです。ほとんどのプログラムにはこの繰り返し処理が使われています。
例えば、レストラン情報や書籍情報を一覧で表示させるWebサービスがあったとします。その際は、「データベースから該当の情報を取得 → それを画面に表示させる」という処理になります。
繰り返し処理を使うことで、「X回処理を繰り返すことでX件の情報を表示させる」、ということが実現できますが、繰り返し処理を使わない場合同じような処理を表示させたい個数分記述する必要が出てきます。
すると、コードの可読性が下がり、記述ミスがあったときにも見つけにくいというデメリットが発生する可能性が高まりますので、繰り返し処理は必修と言えます。
その繰り返し処理を行う際には大きく分けてfor文とwhile文を使います。
ちなみに、繰り返し処理はループ処理と呼ばれる場合もあり、書籍やネット記事を見ているとどちらの表記もありましたので覚えておきたいところです。
for文
まずはfor文です。for文は、対象となる要素の数だけ、その下に書かれた処理を行うことができる書き方です。回数指定のある繰り返しの場合に使います。
書き方は、forで宣言し、変数、キーワードのin、繰り返し対象にするリストなどを記述し、コロンを打ちます。そしてその次の行に実行する処理を記載していきます。
# fruitは変数、inはfor文で使われるキーワード、fruitsは繰り返し対象(今回はリスト)
# fruitやfruitsはコードに合うように変更してください
for fruit in fruits:
実行する処理
これによって、繰り返し対象の要素が1つずつ変数に格納され、その変数が次の行の処理を実行し、繰り返しの数だけ繰り返されます。
かんたんな例を出してみます。
fruits = ['りんご', 'ぶどう', 'ばなな', 'めろん', 'すいか']
# for文で繰り返し処理を行いprint文で表示
for fruit in fruits:
print(fruit + 'を買った')
この処理の結果は、こうなります。繰り返し処理がされているのがわかります。
ぶどうを買った
ばななを買った
めろんを買った
すいかを買った
その他にも関数と組み合わせることで様々な処理ができます。
range関数を利用し、整数を指定した回数だけ繰り返し。
for number in range(5):
print('出席番号は', number, 'です。')
出力結果は、こうなります。
出席番号は 1 です。
出席番号は 2 です。
出席番号は 3 です。
出席番号は 4 です。
enumerate関数を使いリストを作成し、出席番号になる数字とmembersの要素をそれぞれ出力させる。
for number, member in enumerate(members):
print(member ,'の出席番号は', number, 'です。')
出力結果は、こうなります。
剛志 の出席番号は 1 です。
翔子 の出席番号は 2 です。
亮二 の出席番号は 3 です。
美優 の出席番号は 4 です。
その他、for文の中にfor文を入れるという入れ子のループを作ることも可能になっています。
while文
while文もfor文と同じく繰り返し(ループ)処理を行う方法ですが、for文との違いとしては繰り返しの回数が決まっていない場合に利用します。そのため、無限ループに注意する必要もあります。
書き方は、whileで宣言し、条件式を記載、最後にコロンを打ちます。そして次の行には実行する処理を記載するというものです。
while 条件式:
実行する処理
シンプルですね。これを使ってサンプルを書いてみました。
a = 0
# while文でaが5より小さい場合は繰り返しを続ける
while a < 5:
# 数字を出力
print(a)
# 毎回aに1を足していく
a += 1
このコードの実行結果はどうなるでしょうか。以下のようになりました。
1
2
3
4
whileを使うと例えばこういった繰り返し処理も可能です。
my_money = 10000
# 購入した商品数
item_count = 0
# 所持金が尽きるまで繰り返し処理を行い出力させる
while 0 < my_money:
item_count += 1
my_money -= 2500
print('商品を', item_count, '個購入しました。'
'残金は、', my_money, '円です。')
出力はこのようになります。
商品を 2 個購入しました。残金は、 5000 円です。
商品を 3 個購入しました。残金は、 2500 円です。
商品を 4 個購入しました。残金は、 0 円です。
ちなみに、無限ループを実行してしまった場合は「ctrl + C」(「control + C」)のキーを同時に押すことで実行を中止できます。
japan = 'Tokyo'
# このwhile文がFalse(変数japanが空っぽの状態)になることはないので無限ループとなる
while japan != ":
print('Tokyo')
print('===')
While文の基本についてはシンプルなのでわかりやすかったかと思います。その上で、繰り返しの制御をもっと色々できると処理の幅が広がります。主に利用するのはbreak文、continue文です。
- break文
繰り返し処理の途中で使うことで強制的に繰り返し処理から抜けることができる(ループ処理の停止) - continue文
その時点でループ処理の先頭に戻り、次の繰り返しを開始できる(ループ処理をスキップ)
繰り返し処理でPythonの活用の幅が一気に広がる
今回は、Pythonの繰り返し処理(ループ処理)について紹介してきました。
ループ処理はコンピューターが得意なものですので、利用方法を理解しどういった処理ができるかを考えることがとても重要です。
インターネット・アカデミーは、Python講座が充実しています。Python認定スクールにもなっているため質の高い知識を得ることができ、基礎学習の先にあるそれぞれの目標を目指していくためには良い場所となります。ご興味ある方は各講座のページを覗いてみてください。
南波真之
デジタル人材育成・助成金のお役立ち資料をダウンロード

デジタル人材育成や助成金活用のお役立ち資料などをまとめてダウンロードしていただけます。コンサルタントへの無料相談をご希望の方はこちらからお問い合わせください。
- DX人材の育成&事例紹介 リスキリングのロードマップ付き
- デジタル人材育成に使える助成金制度
- デジタルスキル標準 役割別おすすめ講座