単純な if else ステートメントを使用すると、間違った結果が得られます。
a=36
MITTEN = 42
if a <= MITTEN:
print("A", end=" ")
print("B", end=" ")
else:
print("C", end=" ")
print("D")
これにより、結果ABが得られます
しかし、正解はABDのはずです
単純な if else ステートメントを使用すると、間違った結果が得られます。
a=36
MITTEN = 42
if a <= MITTEN:
print("A", end=" ")
print("B", end=" ")
else:
print("C", end=" ")
print("D")
これにより、結果ABが得られます
しかし、正解はABDのはずです
それは、両方のケースで何を期待しているかによって異なります。
A B D
if and only if then を期待している場合は、if 句a <= MITTEN
に入れる必要があります。print("D")
a=36
MITTEN = 42
if a <= MITTEN:
print("A", end=" ")
print("B", end=" ")
print("D")
else:
print("C", end=" ")
一方、print("D")
結果とは無関係に期待している場合a <= MITTEN
は、最後の行のインデントを削除する必要があります。
a=36
MITTEN = 42
if a <= MITTEN:
print("A", end=" ")
print("B", end=" ")
else:
print("C", end=" ")
print("D")
「Python ソース コードでは空白は重要です」ということを常に心に留めておく必要があります。ソースコードを上から下に読むだけでなく、インデントにも注意してください。
これは宿題だと思います。コードではなく回答のみを貼り付ける場合、回答が正しいかどうかを判断するプログラムは、end
パラメーターによって印刷に追加された末尾のスペースがあるかどうかに敏感です。関数、または他の回答が入ってくるのを見たばかりのように(あなたがやっているコースにもっと精通しているようです!)、それはインデントにかかっている可能性があります。その「D」が最後に出力されることになっている場合、最初の条件にはなりません。
行のインデントを解除しprint ("D")
ます。コードでは、条件
a <= MITTEN:
がの場合にのみその行が実行されますFalse
。
a=36
MITTEN = 42
if a <= MITTEN:
print("A", end=" ")
print("B", end=" ")
else:
print("C", end=" ")
print("D")
その条件がFalse
出力であるC D
場合、および出力が であるTrue
こと に注意してくださいA B D
。
インデントには 4 つのスペースを使用します。
最後の行のインデントを解除
a=36
MITTEN = 42
if a <= MITTEN:
print("A", end=" ")
print("B", end=" ")
else:
print("C", end=" ")
print("D")