控制结构:更改以下代码 (...) 以生成“else”

Control Structures: Change the following code (...) to generate "else"

提问人:FredHH 提问时间:3/26/2023 最后编辑:Andreas ViolarisFredHH 更新时间:4/5/2023 访问量:31

问:

如何更改以下代码以包含语句?else

if 2 + ... == 4 ...
  if 3 * ... == 9 ...
    print ("if")
  else: 
    print ("else")

这是我尝试过的:

if 2 + 2 == 4 / 2
  if 3 * 3 == 9 / 3
    print ("if")
  else: 
    print ("else")

但是,我收到语法错误:

文件 “”,第 1 行 如果 2 + 2 == 4 / 2 ^ SyntaxError:语法无效

if-statement 语法 控制 truetype invalid-argument

评论

0赞 FredHH 3/26/2023
这样做也是一样的: if 2 + 2 == 4 if 3 * 3 == 9 print (“if”) else: print (“else”)
0赞 Andy Preston 3/28/2023
您忘记了行尾的冒号。:if

答:

0赞 dodrg 3/26/2023 #1

我不认为,为您的学习任务提供一个完整的解决方案是有用的。

if 语句行必须以 a 结尾(就像 一样):else

但也许你也看看你的数学,想想它属于哪个“如果”。else


编辑: 通过你的回答,我的印象是,你没有注意正确的意图。

程序框架是:

if 2 + ... == 4 ...
  if 3 * ... == 9 ...
    print ("if")
  else: 
    print ("else")

但是你的答案似乎以这种方式改变了骨架代码:

if 2 + ... == 4 ...
  if 3 * ... == 9 ...
    print ("if")
else: 
    print ("else")

请注意,在第二个版本中缺少的意图! 这个小小的改变改变了程序的逻辑,并将阻止成功的解决方案。else

评论

0赞 FredHH 3/27/2023
我试过了这个,那有效了:如果 2 + 2 == 4 / 2:如果 3 * 3 == 9 / 3:打印(“如果”)else:打印(“else”)
0赞 dodrg 3/27/2023
这只有在你扼杀了 .但这是被骗的,而不是任务!— 正如您的问题中所写的那样,它有一个意图。— 如果 ben TRUE?如果必须是 FALSE?elseelse:
0赞 FredHH 3/27/2023
我将第一个 if 变成 FALSE 2+3 ==4,而我保留第二个 TRUE 3*3==9,它进入 else 代码!当我保留第一个 if TRUE 2+2==4 时,它会转到 if 代码 if。我的解决方案是:2 + 3 == 4:如果 3 * 3 == 9:打印(“如果”) else:打印(“else”)
0赞 dodrg 3/27/2023
在这些单行语法中,注释扼杀了 python 语言的本质(一行的意图被吃掉了)。— 你的“现在的解决方案”说:第一个 = FALSE,第二个 = TRUE。— 如果你把它插入到任务的原始代码中(与第二个具有相同的意图),那么你什么也得不到! — 如果你改变任务骨架代码的逻辑,你将得不到你的分数。ififelseif