2010-10-04 97 views
1

我自學了一些Python,並且遇到了一個可能很明顯的問題,除非我看不到它,而我需要另一雙眼睛。在Python 3.0中使用IF語句的語法錯誤

我正在製作一個小遊戲,我製作了一個gui程序。 我有這段代碼,它在運行時給我 「Traceback(最近呼叫的最後一個): File」「,第21行,在 語法錯誤:if playguess ==」A「::,line 2124」 第21行是如果playguess ==「A」:

可能有一些無關的事情是錯的,但這是IF語句現在讓我困惑。 我已經導入了Tkinter模塊,我只是複製了我認爲相關的部分。

def compare(): 
    R = Label(main, text = 'Yes you are right !') 
    W = Label(main, text = "No, It's "+str(states[state]) 
    #if playerguess == str(states[state]): 
    if playguess == "A": 
     R.pack() 
    else: 
     W.pack() 

#print ("Guess State Capitols") 
state = choosestate() 
main = Tk() 
main.title("Guess State Capitols") 
main.geometry('450x100+200+100') 

Q = Label(main,text = 'What is the capitol of ' +state) 
Q.pack() 
playerguess = Entry(main) 
playerguess.pack() 
playguess = playerguess.get() 



main.mainloop() 
+0

我們看不到:) – codaddict 2010-10-04 03:49:49

+1

請發佈代碼然後 – Zimm3r 2010-10-04 03:49:51

+0

您能詳細說明您遇到的問題嗎?代碼片段,有問題的錯誤? – kafuchau 2010-10-04 03:50:13

回答

3

線:

W = Label(main, text = "No, It's "+str(states[state]) 

不具有用於標籤()類/功能的閉括號。

因此,if語句被解釋爲在括號內,這不起作用。

+0

這是一堆。就是這樣。 – chrisfs 2010-10-04 04:11:13