【问题标题】:Python if/else and elifPython if/else 和 elif
【发布时间】:2017-05-03 11:46:49
【问题描述】:

当我运行下面的代码时,我得到一个SyntaxError。谁能帮我解决这个问题。谢谢你

mien = 'beautiful' 

if mien = 'stupid':
   print ('you are stupid')
   else:
       if mien = 'beautiful':
       print ('you are right, thank you!')
       else: #line16
           print ('Opps!')

这是错误信息:

>File "..\Playground\", line 16     
>    else:     
>       ^     
>SyntaxError: invalid syntax 

【问题讨论】:

  • 你能修复缩进吗?从您的示例(由@jonsca 编辑)中,错误高于您所说的行。顺便说一句,你使用== 来表示平等......所以if mien == 'stupid': 等等......
  • 您的示例没有给出您发布的错误。它在第 3 行显示语法错误 if mien = 'stupid': 请运行您发布的示例!

标签: python if-statement syntax-error


【解决方案1】:
mien = 'beautiful'
if mien == 'stupid':
    print ('you are stupid')
else:
    if mien == 'beautiful':
        print ('you are right, thank you!')
    else:
        print ('Opps!')

您忘记在 IF 语句中使用“==”进行比较。

【讨论】:

  • 语法错误:编译单个语句时发现多个语句
  • @emsnguyen 您不能在交互式 IDLE 中复制和粘贴复合语句。
  • 文件 "..\Playground\", 第 2 行 if mien == 'stupid': ^ IndentationError: unexpected indent
  • 我仍然不确定我哪里出错了,IDLE 与我在sololearn 中学到的完全不同。我的版本是 3.5.2
  • 我的版本也是3.5。但我使用了 Pycharm。我还附上了截图。
【解决方案2】:

使用== 运算符来测试相等性。此外,您可以使用elif 关键字,如下所示:

mien = 'beautiful'
if mien == 'stupid':
    print('you are stupid')
elif mien == 'beautiful':
    print('you are right, thank you!')
else:
    print('Opps!')

【讨论】: