2010-10-04 17 views
1

Je m'apprends un peu Python et j'ai rencontré un problème qui est probablement évident, sauf que je ne peux pas le voir et j'ai besoin d'une autre paire d'yeux. Je fais un petit jeu que j'ai fait dans un programme d'interface graphique. J'ai cette section de code, qui lors de l'exécution me donne "Traceback (dernier appel dernier): Fichier" ", ligne 21, dans Erreur de syntaxe: si playguess ==" A "::, ligne 2124" La ligne 21 étant si playguess == "A":Erreur de syntaxe avec une instruction IF en Python 3.0

Il peut y avoir deux ou trois choses sans rapport, mais c'est l'instruction IF qui me dérange en ce moment. J'ai importé le module Tkinter, j'ai juste copié la partie que je pensais être pertinente.

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

Nous ne pouvons pas voir non plus :) – codaddict

+1

s'il vous plaît poster le code puis – Zimm3r

+0

Pourriez-vous élaborer sur le problème que vous rencontrez? Les extraits de code, l'erreur en question? – kafuchau

Répondre

3

La ligne:

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

N'a pas une parenthèse de fermeture de la classe/fonction Étiquette(). Par conséquent, l'instruction if est interprétée comme étant entre parenthèses, ce qui ne fonctionne pas.

+0

C'est un tas. c'était ça. – chrisfs