-1

単純な if else ステートメントを使用すると、間違った結果が得られます。

a=36
MITTEN = 42
if a <= MITTEN:
  print("A", end=" ")
  print("B", end=" ")
else:
  print("C", end=" ")
  print("D")

これにより、結果ABが得られます

しかし、正解はABDのはずです

4

5 に答える 5

4

それは、両方のケースで何を期待しているかによって異なります。

A B Dif 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")
于 2013-06-26T10:21:03.163 に答える
2

「Python ソース コードでは空白は重要です」ということを常に心に留めておく必要があります。ソースコードを上から下に読むだけでなく、インデントにも注意してください。

于 2013-06-26T10:50:49.223 に答える
1

これは宿題だと思います。コードではなく回答のみを貼り付ける場合、回答が正しいかどうかを判断するプログラムは、endパラメーターによって印刷に追加された末尾のスペースがあるかどうかに敏感です。関数、または他の回答が入って​​くるのを見たばかりのように(あなたがやっているコースにもっと精通しているようです!)、それはインデントにかかっている可能性があります。その「D」が最後に出力されることになっている場合、最初の条件にはなりません。

于 2013-06-26T10:19:24.450 に答える
1

行のインデントを解除し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 つのスペースを使用します。

于 2013-06-26T10:14:44.537 に答える
1

最後の行のインデントを解除

a=36
MITTEN = 42
if a <= MITTEN:
  print("A", end=" ")
  print("B", end=" ")
else:
  print("C", end=" ")
print("D")
于 2013-06-26T10:14:44.987 に答える