0から学ぶ【Python基礎】

Python if文の条件分岐を解説: 練習問題付き

前のページ|次のページ

8章ではif文による条件分岐について解説します。

本連載講座【Python 基礎編】では、「プログラミング未経験の方」が挫折せずにPythonの基礎を学ぶことができます。

プログラミングを始めて学ぶ方が理解できるよう、丁寧に解説しています。

さらに、学んだ内容を身につけるための演習問題も用意しています。

・Pythonを挫折せずに学習したい

・無料でPythonを確実に習得したい

このような考えを持っている方は、Tech Teacherが運営する【Python 基礎編】を用いて、Pythonの学習をすることをお勧めします!

<目次>

1章:Pythonの特徴・概要
2章:環境構築と基本操作
3章:出力関数print()
4章:数値の型(int、float)と算術演算子
5章:文字列の操作(len・抽出・結合)
6章:真偽値(True・False)・論理演算(AND、OR、NOT)・比較演算子
7章:変数
8章:if文による条件分岐
9章:リストと辞書
10章:for・whileによる繰り返し(ループ)処理
11章:関数の作り方・使い方
12章:クラスとモジュール

if文による条件分岐

条件分岐とは

プログラミングにおける条件分岐とは、名前の通り条件によってプログラムを分岐させる処理のことです。

下記に条件分岐の例を挙げます。

条件分岐 例
  • 18歳未満ならば、未成年です
  • 18歳未満なら、成年に達しています。

このように条件分岐は、「もし○○○ならば、×××する」というような処理を実現します。

条件分岐は、Pythonでは『if文』を使うことで実装することができます。

条件分岐はプログラミングにおいて必要不可欠な要素なので、しっかり身に付けましょう。

if文の使い方

Pythonにおける条件分岐は、if文を用いて以下のように記述します。

if 条件式:
    条件式が真のときの処理 ・・・(1)
else:
    条件式が偽のときの処理 ・・・(2)

条件式の後にコロン(:)を付けるのを忘れないようにしましょう。
処理を書く部分は必ず2文字または4文字文の空白でインデント(字下げ)を行います。

上の例における条件式とは、分岐の条件となる式のことで、真理値(bool型)を返す式や値が入ります。

条件式が真(True)の場合(1)の処理のみが実行され、(2)の処理は飛ばされます。

一方、条件式が偽(False)の場合(2)の処理のみが実行され、(1)の処理は飛ばされます。

条件式の部分には、真理値を返す比較演算子や論理演算子の式が入ります。

コロンやインデントに気を付けながら以下のコードを自分で書いて、実行結果を確認してみましょう。(以下の例では4文字分の空白でインデントを行っています。)

x = 10

if x < 18:
    print('xは未成年です。')
else:
    print('xは成年に達しています。')
xは未成年です。

結果が確認出来たら、xの値を変えて再度実行してみましょう。

条件式が2つ以上の場合(elif)

先ほどの例では条件式を1つだけ考えていましたが、2つ以上の条件式を適用したい場合は『elif』を使います。

if 条件式1:
    条件式1が真のときの処理
elif 条件式2:
    条件式2が真のときの処理
...

else:
    すべての条件式が偽のときの処理

elifを含む条件式では、一番上から順に条件式が判定されていき、真になったところの処理のみを行います。

どの条件にも当てはまらなかったらelse節の処理が実行されます。

したがって以下のように真になる条件式が2つ以上あった場合は、最初に条件式が真になる部分の処理しか実行されないので注意しましょう。

y = 200

if y < 150:
    print('yは150未満です。')
elif 150 <= y and y < 300:
    print('yは150以上300未満です。')
else:
    print('yは300以上です。')
yは150以上300未満です。

8章の練習問題

以下の練習問題を解いてみましょう。

練習問題

問1. 整数 num の偶奇を判定して結果を表示するプログラムを作成してください。 num に代入する数値は任意の自然数とします。

問2.

与えられた年齢 age に基づいて、以下の条件に合致するメッセージを表示するプログラムを作成してください。 age に代入する数値は任意の自然数とします。

  • 18歳未満の場合: “未成年です。”
  • 18歳以上かつ65歳未満の場合: “成人です。”
  • 65歳以上の場合: “高齢者です。” 

解答

問1(クリックして解答を表示)


num = 24

if num % 2 == 0:
    print('{}は偶数です。'.format(num))
else:
    print('{}は奇数です。'.format(num))
24は偶数です。

問2(クリックして解答を表示)

ifの条件式が偽ならageが20以上であることが確定するので、elifの条件式に20 <= ageを必ずしも書く必要はありません。

age = 42

if age < 20:
    print('未成年です。')
elif age < 65:
    print('成人です。')
else:
    print('高齢者です。')
成人です。



次の記事へ

Pythonのリストと辞書をマスター!基本からメソッド一覧まで 前のページ|次のページ 9章ではPythonにおける「リスト」と「辞書」の使い方について解説します。 リストの定...