2017-05-30 139 views
0

我試着定義以下功能,但是我一直在收到:
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代碼塊的正確方法?

回答

4

在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

謝謝,我添加了官方文檔的鏈接。 –

1

有一些基本問題與您的代碼。如果您粘貼了以上使用的代碼,則說明您沒有遵循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不是真的是一個導致錯誤的問題。然而,不一致的縮進會導致錯誤。 –

0

感謝大家誰回答,因爲它原來我有錯的是 - 正如你們所說 - 用於在我宣佈,如果邏輯測試的語法。

我用==代替=並按照Larry的建議保留了縮進。

它的工作,我節省了很多時間。