05-Python

Python(Part.13)| python【反復構造(while文)】

python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

「制御構造の反復構造」について理解する。
「while文」について基本を理解する。
「式」と「文」について理解する。

反復構造

基本制御構造の復習

基本制御構造とは(再掲載)

「制御構造」のうち、基本とする3つの構造として「順次構造」「選択構造」「反復構造」が存在します。これらは「基本制御構造」と呼ばれて、次の構造をもっています。

  1. 「順次構造」…プログラムを書かれた順番で実行します。
  2. 「選択構造」…条件の成立・不成立によって実行するプログラムを選択します。
  3. 「反復構造」…条件の成立・不成立によって実行するプログラムを反復します。

反復構造の概要

反復構造とは

「反復構造」とは条件の成立・不成立によって実行するプログラムを反復する構造のことをいいます。

注意:
pythonの場合、for文ではイテラブルオブジェクトの要素分を繰り返します。
for文については別の記事で扱います。
イテラブルオブジェクトについては「リスト」の記事で扱います。

反復構造は「繰り返し」とも呼ばれます。

「python」での反復構造

「python」で反復構造を利用する場合は「while文」と「for文」の何れかを利用します。

「while文」は他の言語と同様で条件の成立・不成立によって処理の反復を行わせますが、「for文」では条件の成立・不成立ではなく、繰り返し可能オブジェクト(イテラブルオブジェクト)を利用して繰り返す要素が存在する間、処理を繰り返すといったものとなっています。

「while文」の記述

「while文」の文法

「while文」は「while」「条件の初期値」「条件の判定式」「処理のブロック(条件の更新を含む)」が必要です。

「while文」の利用(カウンタを利用した記述)

数値を利用したシンプルなカウントダウンやカウントアップの繰り返しは次のように利用します。

# 条件の初期値
counter = 5

# 条件判定式
while counter >= 1:
    print('{}回目の処理です。'.format(counter))

    # 条件の更新
    counter -= 1

「変数 += 値」や「変数 -= 値」のよう記述して演算を行う演算子を「累算代入演算子」と呼びます。

実行結果

「while文」の利用(フラグを利用した記述)

条件の判定式部分は「True」もしくは「False」に置き換わる部分のため、今回のプログラムのように直接「True」や「False」が利用されている場合は比較演算子は必要ありません。

# 条件の初期値
flag = True

# 条件判定式
while flag:
    input_value = int(input('「1」から「5」の間で好きな数値を入力してください。:'))
    if input_value == 2:
        # 条件の更新
        flag = False

実行結果

「while文」の利用(文字列を利用した記述)

文字列を利用した場合は次のような形でプログラムを利用できます。

# 条件の初期値
input_value = ''

# 条件判定式
while input_value != 'END':
    # 条件の更新
    input_value = input('「END」と入力するまで入力できます。:')

実行結果

while-else文

pythonの「while文」では「else」を利用して処理を分岐することができます。

# 条件の初期値
input_value = ''

# 条件判定式
while input_value != 'END':
    # 条件の更新
    input_value = input('「END」と入力するまで入力できます。:')
    print('終了には「END」と入力します。')
else:
    print('「END」と入力されました。処理を終了します。')

実行結果

無限ループ

繰り返しのプログラムを実行して、無限ループになってしまった場合は「Ctrl + C」で処理を中断できます。

次のプログラムは無限ループになります。実行してしまった場合は「Ctrl + C」を押下して処理を中断させます。

# 条件の初期値
counter = 5

# 条件判定式
while counter >= 1:
    print('{}回目の処理です。'.format(counter))

    # 条件の更新
    counter += 1

実行結果(処理が止まらない場合はコンソール画面(下の黒い出力画面)を一度クリックして「Ctrl + C」をクリックします。)

「式」と「文」の概要

「式」と「文」とは

  • 「式」…値を返すものを式と呼びます。
  • 「文」…処理を行うものを文と呼びます。

「式」は厳密な定義はありませんが、一般的に次のものを指します。

  • 値(定数・リテラル)
  • 変数
  • 演算子を利用して値や変数をつなげたもの

値や変数は単独でも「式」となります。また、「式」は「他の式」または「文」の一部として存在します。

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
05-Python

Python(Part.25)| python【反復構造(二重for文)】| [Iterative Structures (double for statement)]

2024年7月4日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
05-Python

Python(Part.--)| python【ユーザー定義関数(2)】| 【return文】

2024年8月7日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
05-Python

Python(Part.19)| python【リスト(利用編-4)】【リストのメソッド(2/2)】| 現役エンジニア&プログラミングスクール講師

2023年12月7日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
05-Python

python| まとめ | 現役エンジニア&プログラミングスクール講師

2024年11月19日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site