Biz-IT Blog

Business x IT --> Upgrade!

第4章 4.2 条件式の演算子

この章では、if文に用いる条件式の演算子について解説します。

比較演算子

if文の条件式には、以下の比較演算子を用います。

No. 比較演算子 意味
1 左辺 == 右辺 左辺と等辺は等しい
2 左辺 != 右辺 左辺と右辺は等しくない
3 左辺 > 右辺 左辺は右辺より大きい
4 左辺 < 右辺 左辺は右辺より小さい
5 左辺 >= 右辺 左辺は右辺より大きいか等しい
6 左辺 <= 右辺 左辺は右辺より小さいか等しい
7 左辺 in 右辺 左辺が右辺に含まれている

 
演算子1~6で文字列を比較した場合は、UTF-8文字コードの大小を比較する。
演算子7はin演算子と呼ばれ、文字列やコレクションを比較することができる。
演算子で比較した結果、条件式が正しければ「True」、正しくなければ「False」の真偽値を返す。

in 演算子の使い方

文字列の比較

<プログラム例>

# 変数a,bに文字を代入
a = 'あいうえお'
b = input('「あいうえお」のどれか1字入力してください=')

# 文字列aは文字列bに含まれているか比較
if b in a:
    print('「'+ b +'」は「'+ a +'」に含まれています')
else:
    print('「'+ b +'」は「'+ a +'」に含まれていません')

<実行結果>
(「あ」を入力した場合)
「あいうえお」のどれか1字入力してください=あ
「あ」は「あいうえお」に含まれています

(「か」を入力した場合)
「あいうえお」のどれか1字入力してください=か
「か」は「あいうえお」に含まれていません

リストの比較

<プログラム例>

# 変数xにリスト、変数yに整数を代入
x = [10,20,30]
y = input('数字を入力してください=')
y = int(y)

# 変数yはリストxに含まれているか比較
if y in x:
    print('「'+ str(y) +'」は'+ str(x) +'に含まれています')
else:
    print('「'+ str(y) +'」は'+ str(x) +'に含まれていません')

<実行結果>
(20を入力した場合)
「20」は[10, 20, 30]に含まれています

(25を入力した場合)
「25」は[10, 20, 30]に含まれていません

ディクショナリのキーの有無を調べる

<プログラム例>

# ディクショナリを作成
score = {'国語':60,'英語':70,'数学':90,'化学':40}

key = input('追加する科目を入力してください=')

# すでに登録済みかどうかをif文で判断 
if key in score:
    print('すでに登録済みです')
else:
    data = int(input('得点を入力してください='))
    score[key] = data
print(score)

<実行結果>
(新たなキーを入力した場合)
追加する科目を入力してください=物理
得点を入力してください=100
{'国語': 60, '英語': 70, '数学': 90, '化学': 40, '物理': 100}

(すでに登録済みのキーを入力した場合)
加する科目を入力してください=国語
すでに登録済みです
{'国語': 60, '英語': 70, '数学': 90, '化学': 40}

 

論理演算子

条件式を複数組み合わせたい場合、以下の論理演算子を用います。

No 論理演算子 意味
1 左辺 and 右辺 左辺の条件式 かつ 右辺の条件式 がどちらも成立したら Trule となる
2 左辺 or 右辺 左辺の条件式 または 右辺の条件式 のどちらか一方が成立したら Trule となる
3 not 左辺 in 右辺 左辺が右辺に含まれないなら Trule となる

<プログラム例>

# 論理演算子 and,or の使い方
a = 80
if a >= 70 and a <= 100:
    print('①合格です')
else:
    print('①不合格です')

if a < 0 or a > 100:
    print('②点数が0~100の範囲を超えています')
else:
    print('②点数は0~100の範囲です')

# 論理演算子 not の使い方
x = 40
y = [10,20,30]
if not x in y:
    print('③リストにありません')
else:
    print('③リストにあります')

<実行結果>
①合格です
②点数は0~100の範囲です
③リストにありません

※上記のプログラムの3行目のように、1つの変数がある範囲内であるかどうかを判定する条件は以下の様に記述することも可能です。

# 論理演算子 and,or の使い方
a = 80
if 70 <= a <= 100:

 
 
次のページへ
Pythonトップへ戻る