2013-12-22 62 views
0

這是我的代碼;我不知道我的語法有什麼問題

def save(name): 
    if x['fname'] == 'ply.json': 
     save1(name) 
    elif x['fname'] not 'ply.json': 
     write_data({'fname':'ply.json', 'name':'Karatepig'}, 'ply.json') 

我得到一個錯誤,說明我有這個語法錯誤:

File "<stdin>", line 4 
    elif x['fname'] not 'ply.json': 
          ^

我在做什麼錯?

+5

這個問題應該是封閉的,因爲它是一個錯字,並且對未來的讀者沒有用處。 –

回答

1

something not something不是有效的表達。如果你想測試,如果它不等於,使用!=

elif x['fname'] != 'ply.json': 

然而,由於這是前if測試正好相反,只要使用else這裏:

if x['fname'] == 'ply.json': 
    save1(name) 
else: 
    write_data({'fname':'ply.json', 'name':'Karatepig'}, 'ply.json') 
+0

再次感謝您,您的答案如此之快,嘿。 – Karatepig

0

您需要使用!=爲 「不等於」:

elif x['fname'] != 'ply.json': 
1

您需要使用!=測試不平等,就像這樣:

elif x['fname'] != 'ply.json': 

但爲什麼使用elif

def save(name): 
    if x['fname'] == 'ply.json': 
     save1(name) 
    else: 
     write_data({'fname':'ply.json', 'name':'Karatepig'}, 'ply.json) 
+0

以後再用別​​的東西。不過謝謝。 – Karatepig

+0

@Karatepig,但沒有別的。事情要麼是平等的,要麼不是。 –

+0

@DanielRoseman我將用其他來檢查「無效」fname,並將其更改爲我認爲「有效」的那個。 – Karatepig