代码块的缩进错误?

Indentation errors with code block?

我试图定义以下函数,但我不断得到:
error 000989 : Python syntax error: <value>.

显然我的代码语法不正确。我试过以下方法:

def yieldCalc(value):
 if (value=1):
     return 6.2
  elif (value=2):
     return 7.9
  else:
     return 8.21

还有

def yieldCalc(value):
 if (value=1):
     return 6.2
  elif (value=2):
     return 7.9
 else:
     return 8.21

def yieldCalc(value):
 if (value=1):
     return 6.2
 elif (value=2):
     return 7.9
 else:
     return 8.21

缩进 python 代码块的正确方法是什么?

在python中你应该使用双等号==来比较两个值:

def yieldCalc(value):
    if value == 1:
        return 6.2
    elif value == 2:
        return 7.9
    else:
        return 8.21

有关缩进和比较的更多信息,请参阅 python 文档中的以下链接:

Style Guide - Indentation

Built-in types - Comparison

您的代码存在几个基本问​​题。如果您在上面粘贴了您正在使用的代码,那么您没有遵循 PEP-8 标准。

  1. Use 4 spaces per indentation level。在您的第一个缩进中,您使用的是单个 space.
  2. 如果您要测试变量 value 的值为 1,那么您应该使用 == - 单个 = 是一个 assignment statement
def yieldCalc(value):
    if value == 1:
        return 6.2
    elif value == 2:
        return 7.9
    else:
        return 8.21

感谢所有回复的人,事实证明我错了——正如你们所有人所指出的——用于在我的 if 中声明逻辑测试的语法。

我使用 == 而不是 =,并按照 Larry 的建议保留了缩进。

有效,我节省了很多时间。