Python3 初心者向け問題集004:if文

Python問題集

問004.

答えと解説は下にあります。
問題番号をクリックすると、答えに飛びます。

(1)
変数scoreの値が100の場合に「満点です」と表示されるif文を作成してください。

(2)
X = 1234 とするとき、Xと1234567の和が1236000より小さければ「small」を、1236000以上であれば「big」を出力してください。

(3)
変数 A の値が偶数の場合は「Aは偶数です」を、奇数の場合は「Aは奇数です」と表示されるif文を作成してください。ただし、Aは整数です。

(4)
変数 B の値を変数 C の値で割った時の商(整数)が10未満のときは「商は10未満」を、10以上のときは「商は10以上」と表示されるif文を作成してください。ただし、変数Cは 0 ではありません。

(5)
変数 D の3乗が正の数のときは「plus」を、負の数のときは「minus」を、0のときは「zero」と表示されるif文を作成してください。

(6)
リスト:E = [1, 5, 7, 10, 5, 7] があります。このリスト内に5が含まれていれば「5が○個含まれています」(○には5の個数が入る)と表示し、含まれていなければ「5は含まれていません」と表示するif文を作成してください。

(7)
変数 age (年齢) と 変数 sex (性別) の値の組み合わせにしたがって、下表に示すような表示をするif文を作成してください。

age
sex
20未満20以上
0未成年男子成人男性
1未成年女子成人女性

(8)
「変数 height が150以上」または「変数 old が16以上」の場合は「乗れます」と表示し、どちらも満たさない場合は「乗れません」と表示するif文を作成してください。

(9)
「『変数 length が160以上』かつ『変数 weight が60以下』」を満たさない場合に「対象外」と表示するif文を作成してください。

答えと解説は下にあります。
問題番号をクリックすると、答えに飛びます。

答004.

(1)の答え

変数scoreの値が100の場合に「満点です」と表示されるif文を作成してください。

#解答例
if score == 100 :
    print("満点です")

if文の基本形は、下の通りです。

if  条件式  :
条件式が「真」のとき実行する文

注意してほしいのは、
コロン(:)を忘れない!
・「if 条件式 :」の後の字下げ(半角スペース4つ分)を忘れない!

比較演算子 ==

「==」の左右の値が等しいことを表します。

「=」が2つあるのは、
代入するときの「=」と区別するためです。

(2)の答え

X = 1234 とするとき、Xと1234567の和が1236000より小さければ「small」を、1236000以上であれば「big」を出力してください。

#解答例
X = 1234
if X + 1234567 < 1236000 :
    print("small")
else:
    print("big")
#出力結果
small

else :

同 if文内のelseより上の条件がすべて「偽」だったときに実行する文を記述できます。

(3)の答え

変数 A の値が偶数の場合は「Aは偶数です」を、奇数の場合は「Aは奇数です」と表示されるif文を作成してください。ただし、Aは整数です。

#解答例
if A % 2 == 0 :
    print("Aは偶数です")
else:
    print("Aは奇数です")

#「偶数」は「2で割った余りが0」と考えればいいですね!

算術演算子 

「割り算の余り」に関する記号です。

例えば、「5 % 2」は「5を2で割った余り」という意味です。

(4)の答え

変数 B の値を変数 C の値で割った時の商(整数)が10未満のときは「商は10未満」を、10以上のときは「商は10以上」と表示されるif文を作成してください。ただし、変数Cは 0 ではありません。

#解答例
if B // C < 10 :
    print("商は10未満")
else:
    print("商は10以上")

算術演算子 //

割り算の答えの小数点以下を切り捨てる。

例えば、「10 // 3」は「10÷3=3.33… の小数部分を切り捨てて 3」となります。

(5)の答え

変数 D の3乗が正の数のときは「plus」を、負の数のときは「minus」を、0のときは「zero」と表示されるif文を作成してください。

#解答例
if D ** 3 > 0 :
    print("plus")
elif D**3 < 0 :
    print("minus")
else:
    print("zero")

elif 条件式 :

複数の条件式を記述できます。

「elseif」と書かないように注意しましょう。

算術演算子 **

累乗の計算ができます。

例えば、「10 ** 5」は「10の5乗(105)」を表します。

(6)の答え

リスト:E = [1, 5, 7, 10, 5, 7] があります。このリスト内に5が含まれていれば「5が○個含まれています」(○には5の個数が入る)と表示し、含まれていなければ「5は含まれていません」と表示するif文を作成してください。

#解答例
E = [1, 5, 7, 10, 5, 7]
if 5 in E :
    print("5が" + str(E.count(5)) + "個含まれています")

比較演算子 in

「in の左」が「in の右」に含まれているかを調べられます。

例えば、「5 in E」は「5は E に含まれている」を表しています。

(7)の答え

変数 age (年齢) と 変数 sex (性別) の値の組み合わせにしたがって、下表に示すような表示をするif文を作成してください。

age
sex
20未満20以上
0未成年男子成人男性
1未成年女子成人女性
#解答例
if age < 20 and sex == 0 :
    print("未成年男子")
elif age < 20 and sex == 1 :
    print("未成年女子")
elif age >= 20 and sex == 0 :
    print("成人男性")
elif age >= 20 and sex == 1 :
    print("成人女性")

#許容解答例
if age < 20 and sex == 0 :
    print("未成年男子")
elif age < 20 and sex == 1 :
    print("未成年女子")
elif age >= 20 and sex == 0 :
    print("成人男性")
else:
    print("成人女性")

##この場合、sex = 3 など範囲外の数字が代入された場合も,
##「成人女性」と出力されるため、ミスに気づきにくくなってしまう。

ブール演算子 and

数学用語の「かつ」にあたる演算子です。

例えば、「age < 20 and sex == 0」は
「age < 20」と「sex == 0」が同時に成り立つという意味です。

(8)の答え

「変数 height が150以上」または「変数 old が16以上」の場合は「乗れます」と表示し、どちらも満たさない場合は「乗れません」と表示するif文を作成してください。

#解答例
if height >= 150 or old >= 16 :
    print("乗れます")
else:
    print("乗れません")

ブール演算子 or

数学用語の「または」にあたる演算子です。

例えば、「height >= 150 or old >= 16」は
「height >= 150」と「old >= 16」の少なくとも一方が成り立つという意味です。

(9)の答え

「『変数 length が160以上』かつ『変数 weight が60以下』」を満たさない場合に「対象外」と表示するif文を作成してください。

if not (length >= 160 and weight <= 60) :
    print("対象外")

ブール演算子 not

notの値の条件を「否定」します。

例えば「not length >= 160」は「length <= 160」と同じです。

ブール演算子の優先順位

ブール演算子には優先順位が存在するので、注意しなければなりません。

その優先順位は
not > and > or
です。

例えば、
not length >= 160 and weight <= 60
と書くと、not と and では not が強いので、
(not length >= 160) and (weight <= 60)
と解釈されます。

※万が一、問題・解答・解説に不備がありましたら、
お問い合わせまたはTwitterで報告してください。

挫折しないPythonスクール

記事への意見・感想はコチラ