LoginSignup
1
2

More than 5 years have passed since last update.

Python入門②(条件分岐編)

Last updated at Posted at 2017-08-27

条件分岐

この記事は、Python入門①(はじめの一歩)からの続きです。

条件分岐とは

条件分岐(じょうけんぶんき)とは、プログラムの処理を条件によって変えることです。
pythonでは、条件分岐をif文(イフ)で記述します。

if1.py
# 数値を入力してもらう
x = input("input number : ")
# 文字列型を数値型に変換
num = int(x)
# もしもその数値が3ならば、メッセージを表示
if num == 3 :
    print "The Number is 3"

実行すると、数値のの入力を求めてきます。3と入れると、メッセージが出ますが、そうでなければ何も出ません。

if文のあとは、:を入れて改行してください。

①3を入力した場合の実行結果

input number : 3  ← 整数を入力
The Number is 3

②3以外の値を入力した場合

input number : 1

このように、ifを用いれば、条件分岐を記述することが可能です。

値の比較には、比較演算子を用います。比較演算子は、二つの値を比較するのに用います。

比較演算子

演算子 意味 記入例
== 二つの値が等しいかどうかを調べる a == b
!= 二つの値が等しくないかどうかを調べる a != b
> 左辺が変より大きいかどうかを調べる a > b
< 左辺が変より小さいかどうかを調べる a < b
>= 左辺が変より以上どうかを調べる a >= b
<= 左辺が変より以下かどうかを調べる a <= b

if else

いf
ある条件が成り立つときは処理Aを、成り立たないときは処理Bを、というときは、if else文が便利です。

if2.py
x = input("input number : ")
num = int(x)
if num %2 == 0:
    print "even"
else:
    print "odd"

ifの場合と同様に、elseのあとには:を入れて改行してください。

プログラムを実行したら、「input number:」と出ますので、そのあとに整数を入力してください。偶数なら「even」と表示されます。

input number : 6
even

奇数ならば、「odd」と表示されます。

input number : 5
odd

と出力されます。

ここで出てくるelseは、ifの条件が成り立たなかったときに実行される処理です。

 elif

さらに、複数の分岐をする場合は、elifを用います。

if3.py
x = input("input number : ")
num = int(x)
if num > 0:
    print "plus"
elif num < 0:
    print "minus"
else:
    print "zero"

ifやeleseの場合と同様に、elifの後には:を入れて改行してください。

今度は、入力した数が正の数であれば「plus」、負の数であれば、「minus」、ゼロであれば、「zero」と表示されます。

input number : 5 ← 正の数を入力した場合
plus
input number : -2 ← 負の数を入力した場合
minus
input number : 0 ← ゼロを入力した場合
zero

最初のifで、numが正の数(0より大きい)かどうかを調べます。そして、もしその条件に合致しなければ、次のelifで、今度はnumが負の数(0より小さい)かどうかを調べます。

そして、そのどの条件に合わない場合は、elseの処理が実行されますが、最終的にそのような数は0しかないので、そのように判断して、結果を出力しています。

なお、elifの数に制限はありません。必要に応じて、いくつでも書いてもかまいません。

複数の条件

if4.py
x = input("input number x : ")
y = input("input number y : ")

if x > 0 and y > 0:
    print("x and y are both plus.")
else:
    print("x or y is not plus.")

実行すると、x,yの2つの整数へのあたいの代入が行われます。この時、両方とも0より大きければ、

input number x : 5
input number y : 3
x and y are both plus.

と、表示され、どちらかが負の数であれば、

input number x : 6
input number y : -3
x or y is not plus.

となります。

andは、複数の条件が成り立つかどうかを判定します。このサンプルでは、x > 0とy > 0の両方が成り立つかどうかを判定します。

一方、どちらか一方の条件が成り立つ場合を判定したいこともあります。そんな時用いるのが、orです。

if5.py
x = input("input number x : ")
y = input("input number y : ")

if x > 0 or y > 0:
    print("x or y is plus.")
else:
    print("x and y are not plus.")

入力した二つの数のうち、どちらか一方でもプラスであれば、以下のような結果が出ます。

input number x : 5
input number y : -2
x or y is not plus.

逆に、両方ともマイナスである場合、以下のようなメッセージが出ます。

input number x : -1
input number y : -2
x or y is not plus.

→ Python入門③(繰り返し処理変)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2