-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 D当且仅当a <= MITTEN那么您应该放入print("D")if 子句:

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

取消缩进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,如果TrueA B D

并使用四个空格进行缩进。

于 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 回答
1

我假设这是某事的作业,如果您只粘贴答案而不是代码,那么确定您的答案是否正确的程序对是否有由end参数添加到打印的尾随空格敏感功能,或者正如我刚刚看到的其他答案(他们似乎更熟悉你正在做的课程!),这可能归结为缩进;如果那个'D'应该最后打印,它不能在第一个条件中。

于 2013-06-26T10:19:24.450 回答