05-Python

Python(Part.10)| python【選択構造(if文)】

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

目標

「制御構造の選択構造」について理解する。
「if文」について基本を理解する。
「ブロック」について理解する。

選択構造

if文では条件(判定式)が利用されます。本来なら条件(判定式)に利用される「比較演算子」や「論理演算子」をif文の学習前に扱うのが通常の流れですが、判定式部分だけを先に扱うと「イメージが湧かない」「単調なことばかりで集中できない」などデメリットもあるため、このサイトではif文について先に触れ、次回以降で「比較演算子」や「論理演算子」を扱います。

基本制御構造の復習

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

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

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

選択構造の概要

選択構造とは

「選択構造」とは条件の成立、または不成立によって、プログラムが実行される処理内容を分岐させる(変更させる)構造のことをいいます。

条件の成立・不成立によって処理が分かれるので「条件分岐」とも呼ばれます。

「python」での選択構造

「python」で選択構造を利用する場合は「if文」や「match文」を利用します(「match文は」python 3.10 バージョンから利用可能となります。)。「if文」や「match文」以外にも「例外処理」などの選択構造がありますが、通常の条件分岐を記述する場合は「python」では「if文」や「match文」となります。

「if文」の記述

「if文」の文法

「if文」は「if」「条件(判定式)」「処理のブロック」のみっつが必要です。記述内容を色分けすると次のようになります。

ブロック…インデントを利用して字下げされた部分をひとつのブロックとします。ブロックはネストすることも可能です。このブロックは他の言語では「{}波カッコ」やキーワードが利用されることがあります。

JavaScriptの場合は「if(条件){ブロック}」となっています。

ブロックの中の各処理のことを「スイート」とよびます。

「if文」のみの使用

単純に条件の成立・不成立で処理を行う、行わないを分岐する場合は「if文」のみを利用します。

input_value = int(input('数値で「1」を入力してください----->:'))

if input_value == 1:
    print('「1」が入力されました。')

上のプログラムの場合、「1」以外の数値が入力されても何も起こりません。

input関数で入力された値は全て文字列で渡されます。数値として利用する場合はキャスト(型変換)します。整数へのキャストには組み込み関数のint関数を利用しています。

「if-else文」の使用

条件の成立・不成立で処理をふたつに分ける場合は「if-else文」を利用します。

input_value = int(input('数値で「1」を入力してください----->:'))

if input_value == 1:
    print('「1」が入力されました。')
else:
    print('「1」以外が入力されました。')

上のプログラムの場合、「1」以外の数値が入力されるとelse側のブロックが処理されます。

「if-elif-else文」の使用

分岐が複数ある場合は「if-elif-else文」を利用します。

player = int(input('選手を選んでください。「1:大空翼 2:日向小次郎 3:新田瞬」----->:'))

if player == 1:
    print('ドライブシュートを放った!ゴール!')
elif player == 2:
    print('タイガーショットを放った!ゴール!')
elif player == 3:
    print('イーグルショットを放った!ポストに嫌われた!')
else:
    print('日本代表は守備を固めている。')

上のプログラムの場合、「1」「2」「3」「それ以外の数値」で処理されるプログラムのブロックが変わります。

if文のネスト

制御構造はネスト(入れ子)にすることが可能です。

player = int(input('選手を選んでください。「1:大空翼 2:日向小次郎」----->:'))

if player == 1:
    player_action = int(input('動作を選択して下さい。「1:パス 2:シュート 3:ゴールデンンビ」----->:'))
    if player_action == 1:
        print('パスを出した。')
    elif player_action == 2:
        print('ドライブシュートを放った!ゴール!')
    elif player_action == 3:
        print('岬くんとのゴールデンコンビだ!岬くんのシュート!ゴール!')
elif player == 2:
    player_action = int(input('動作を選択して下さい。「1:ドリブル 2:シュート」----->:'))
    if player_action == 1:
        print('ごういんなドリブルで相手選手を吹き飛ばした。')
    elif player_action == 2:
        print('タイガーショットを放った!ゴール!')
else:
    print('日本代表は守備を固めている。')

今回は以上になります。次回はif文でも利用する条件(判定式)について扱います。

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

ブックマークのすすめ

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

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