代码块的缩进错误?

问题描述:

我试着定义以下功能,但是我一直在收到:
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

+2

您应该添加有关正确缩进这个问题的意见 –

+0

谢谢,我添加了官方文档的链接。 –

有一些基本问题与您的代码。如果您粘贴了以上使用的代码,则说明您没有遵循PEP-8标准。

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

不followinh pep8不是真的是一个导致错误的问题。然而,不一致的缩进会导致错误。 –

感谢大家谁回答,因为它原来我有错的是 - 正如你们所说 - 用于在我宣布,如果逻辑测试的语法。

我用==代替=并按照Larry的建议保留了缩进。

它的工作,我节省了很多时间。