演習問題(全12問)+ 解答解説つき
初心者向け → 中級準備レベルまで、理解がしっかり定着するように
「やさしい問題 → 少し考える問題 → 実務でよく使う問題 → 応用」
の順に演習問題と 詳しい解答解説 を用意しました。
【基礎①:True / False の理解】
問1
次の式の結果は True と False のどちら?
3 > 1
問2
次の式の結果は?
5 == "5"
問3
変数 x = 0 のとき、次は True?False?
x == False
【基礎②:and / or / not の組み合わせ】
問4
次の式の結果は?
True and False or True
問5
次の式を人間の言葉で説明すると?
age >= 18 and age < 65
問6
次の式の結果は?
not (3 < 5) and (2 == 2)
【応用①:チェーン比較・複数条件】
問7
x が 10〜20 の 範囲外 のとき True になる条件式を書きなさい。
問8
y が偶数で なおかつ y が 0 以上 100 以下のとき True になる条件式を書きなさい。
【応用②:実務でよくあるチェック】
問9
変数 name が 空文字でない とき True になる条件式を書きなさい。
(ヒント:空文字 "" は False と評価される)
問10
password が8文字以上 または 数字を含むとき OK としたい。
次の条件式を完成させよ(空欄 ___ を埋める)。
len(password) >= 8 or ___
数字を含むかどうかは password.isdigit() で調べられるとする。
【応用③:ショートサーキットの理解】
次の2つの関数がある:
def A():
print("A called")
return False
def B():
print("B called")
return True
Python問11
A() and B()
実行したとき、何が表示される?
問12
A() or B()
実行したとき、何が表示される?
解答 & 詳しい解説【基礎①】
問1:3 > 1
→ True
3 は 1 より大きいので真。
問2:5 == “5”
→ False
数値の 5 と、文字列 "5" は 型が違う。
Python は型が違うと基本的に「等しくない」と判定する。
問3:x == False(x = 0 のとき)
→ True
0 は「Falsy」なので False と等しいと評価される。
ただし実務では 0 と False を == で比較するのは推奨されない
(紛らわしいバグを生むため)。
解答 & 詳しい解説【基礎②】
問4:True and False or True
優先順位は
and → or
なので:
(True and False) or True
→ False or True
→ True
問5:age >= 18 and age < 65
意味は:
「年齢が18歳以上 かつ 65歳未満」
つまり「働ける一般的な年齢」の判定に使える。
問6:not (3 < 5) and (2 == 2)
3 < 5 → True
not True → False
2 == 2 → True
False and True → False
Python解答 & 詳しい解説【応用①】
問7:x が 10〜20 の範囲“外”
範囲外 = 10 未満 または 20 より大きい
x < 10 or x > 20
(1つでも外れていれば範囲外)
問8:y が偶数 かつ 0〜100 の範囲
偶数条件:y % 2 == 0
範囲条件:0 <= y <= 100
両方満たすので:
y % 2 == 0 and 0 <= y <= 100
解答 & 詳しい解説【応用②】
問9:name が空でない
空文字は False と評価されるので、
if name:
で「空でない」になる。
条件式だけ書くと:
name != ""
または Python 的には:
bool(name)
問10:数字を含む条件式を埋める
password.isdigit() → すべて数字なら True
※「数字を含む」ではなく「数字だけ」の場合 True(本来少し違うが問題の前提に従う)
len(password) >= 8 or password.isdigit()
解答 & 詳しい解説【応用③:ショートサーキット】
問11:A() and B()
A() が False を返すと、and はそこで終了(B を評価しない)
表示されるのは:
A called
False
(B は呼ばれない)
問12:A() or B()
A() が False → or なので B() を評価する
よって:
A called
B called
True
