Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Pythonの基本的な文法(1) : 条件分岐

ここでは「条件分岐」について学びます.


条件分岐の基本

次のコードを眺めてみましょう.別タブなどで開いてください.

>> 04_if_check.py

ここではプログラムの基本である 条件分岐 が使われています. コードの4行目を見てみましょう.

if x_value == 3:

先頭の if は英語と同じく「もし〜だったら」という意味です. この行を日本語で表現すると,

もし変数 x_value が3と等しければ,

となります.

ここで,「等しいかどうか」を = ではなく == という記号で表現しています.Pythonでは = を「右辺を左辺に代入」という意味で使ってしまっているので,「右辺と左辺が等しい」ことを表すために = を使えません.代わりに == を使います.

さて,x_value が3と等しい場合は次の行を実行します.次の5行目を見てみましょう.

    print("xは3")

このように print 使って「xは3」と表示させます.


条件分岐の書き方

それでは条件分岐の書き方について簡単にコメントします.

if の書き方ルール
  • 条件分岐は「もし〜だったら」は if という英単語を書けばいいだけ.
  • 「そうでなければ」を意味する英単語は「else」.「そうではなくて,もし〜だったら」としたいから「else if」.ということで,それを短くした elif を使う.
  • elif は何個分あってもかまわない.上から順に読んでいって,もし記載した条件が満たされなければ下の方に流れていき,どこかで条件に引っかかったらその内容が実行される.
  • 内容が実行された時点で if 全体から抜け出ることに注意が必要.つまり,そこから先の elif は無視される.
  • 記載したすべての条件を満たさない場合に何かをさせたければ,最後に else を書けばいい.
  • and は「左右両方ともの条件が満たされていれば」であり, or ならば「左右のどちらかの条件が満たされていれば」になる.

条件分岐を大量に使いこなせば,「こういう状況だったら,こうやって行動する」といったような人工知能っぽい動きをさせることもできます.

人工知能の話はさておき, if を使えば,例えばデータの前処理として「こういうデータ点はどう考えてもおかしくて,計測機器のバグやアンケート調査の際のミスだから除外しよう」といったような操作が可能になります.


数学の記号との対応

コード 04_if_check.py の4行目では「左辺と右辺が等しいか」の判定に = ではなく == という記号が使われています. 条件分岐ではこのような「比較」を組み合わせて組み立てていきます. 数学でいう数値の「比較」をするための記号との対応は以下のとおりです.

比較の演算記号
  • 数学の = : == (左辺と右辺が等しいかを判定する)
  • 数学の ≠ : !=
  • 数学の > : >
  • 数学の < : <
  • 数学の ≥ : >=
  • 数学の ≤ : <=

空白(スペース)での整形作業

Pythonのプログラミングにおいて一番大切なポイントは,Pythonでは各行の最初の空白(スペース)で『まとまり』を表現する ということ.これはほかのプログラミング言語にはない特徴で,これによってコードが見やすくなるというメリットがあります.

コード 04_if_check.pyif 文を見ると,行末にコロン ':' が書かれています.これが『まとまり開始』の合図です.そしてコードの形を見れば明らかなように,その『まとまり』が空白を使って表現されています.

空白は何文字でもかまいませんが『揃えておく』必要があります.標準的には「4文字分」の空白が使われます.ただ,毎度空白を入力するのは大変ですので,「tab」キーを活用しましょう.「tab」キーを押すことで自動で空白を入れてくれます.


練習問題

練習問題 5: 条件分岐の確認

コード 04_if_check.py を1行ずつ読んで,どういった処理を行うのか理解しましょう.

次に,コードを実行して正しく処理されているか確認しましょう.最後に,5行目を書き直して, x_value7を代入した時に正しく動作するか確認しましょう.

練習問題 6: 空白によるif文の整形

コード 04_if_code_formatting.py を実行するとエラー文が出ます.正しく条件分岐を行えるようにデバッグし,結果を確認しましょう.


演習課題

演習課題 2: 複数の条件を使った分岐

コード 04_if_multicondition.py を読んでください.コメントにあるように,x_namey_namez_name にリンゴとキウイがあるかを判定して表示するコードを作りたいです.この処理を if 文を使って実現しましょう.

ただし,できるだけ短く,かつ見やすいコード を目指しましょう. あまりに if 文が多いと読みにくく長いコードになりますし,かといって 1つの if 文の中に処理を詰め込むとデバッグしにくくなります.

ヒント: 複数の条件を同時に使いたい場合,上の説明にあるように andor を使ってみましょう.


< 前へ | トップに戻る | 次へ >