2017-02-03 2 views
-2

Ich versuche, ein Programm mit Python zu machen, aber ich habe Probleme beim Ändern globaler Variablen. Ich betreibe Python 2.7. Wenn ich den Code unten ausführe und one() in Python starte, ändert sich die operationOne nicht von 0 auf 1, wie es sollte. Irgendwelche Ideen, wie ich die Sachen in dieser Funktion machen kann, modifizieren die globale Variable?Funktion ändert globale Variable nicht

operationOne = 0 
operationTwo = 0 
operationUsed = False 
def one(): 
    global operationOne 
    global operationTwo 
    global operationUsed 
    if operationUsed == False: 
     operationOne = 1 
    if operationUsed == True: 
     operationTwo = 1 
+1

Sie überprüfen 'operatorUsed', aber es ist nicht in Ihrem Beispiel festgelegt. Sollten Sie den globalen 'operationUsed' verwenden ...? – AlG

+0

'operatorUsed' ist nicht definiert. Obwohl, wenn ich den Tippfehler behebe, funktioniert der Code gut. – ForceBru

+3

Sie haben die Boolesche falsch geschrieben, es sollte 'globale OperationUsed' nicht Operator – Cicero

Antwort

0

Sie vergleichen operatorUsed zu operationUsed.

Wenn ich diesen Code ausführen, bekomme ich den Fehler operatorUsed ist nicht definiert.

Fix das und es sollte wie erwartet funktionieren.

+0

Es wurde behoben und ich habe immer noch das Problem, dass wenn ich one() und dann drucken (operationOne) gebe, wird 0 angezeigt –

0

ändern es dazu:

operationOne = 0 
operationTwo = 0 
operationUsed = False 
def one(): 
    global operationOne 
    global operationTwo 
    global operationUsed 

    if operationUsed: 
     operationTwo = 1 
    else: 
     operationOne = 1 

es wie das Schreiben für mich gearbeitet.

Verwandte Themen