Python: Ungültige Syntax Die Verwendung Von Globalen Variablen

First off, ich muss Ihnen sagen, ich bin völlig neu zu codieren, also ich habe das problem könnte verursacht werden durch die meisten dumm misstake überhaupt, und wenn ja, im sorry!

Ich versuche, einen Taschenrechner, die in der Lage ist zu berechnen,+, -,*,/.
Es sollte eigentlich auch eine Fehlermeldung geben und Fragen, für eine neue operation symbol, wenn die einen empfangen war ungültig. Lassen Sie den computer wissen, wenn die Funktion "main" ausgeführt wird, weil es erhielt eine ungültige funtion, oder wenn es ist, zum ersten mal seine ausgeführt wird, ich bin versucht, eine Globale variable namens "check". Am start, check auf 1 gesetzt ist, und so der computer wird der erste Satz bei der Frage für eine operation. Wenn eine ungültige operation eingegeben wird, wird die variable "check" ist incresed durch, was dazu führt, dass der zweite Satz (die Fehlermeldung), wenn es fragt nach einem neuen Betrieb.

Das problem ist, dass wenn ich versuche das script auszuführen, bekomme ich einen syntax error in der ersten Zeile, wo "global-check = 1". Was mache ich falsch?

Unten ist mein code:

global check = 1

#returns num1 + num2
def add(num1,num2):
    return num1 + num2

#returns num1 - num2
def sub(num1,num2):
    return num1 - num2

#returns num1 * num2
def mul (num1,num2):
    return num1 * num2

#returns num1 /num2
def div (num1,num2):
    return num1 / num2

#Main Function
def main():
    if(global check == 1): #checks if "main" has been read before, if it has, then it is read agian because of invalid operation, and the global "check" should be higher than 1.
        operation = input("Choose an operation! (+,-,*,/")
    else:
        operation = input("You must choose a valid operation! (+,-,*,/")
    if(operation != "+" and operation != "-" and operation != "*" and operation != "/"):
        global check = global check + 1
        main()
    else:
        var1 = int(input("Enter number 1 :"))
        var2 = int(input("Enter number 2 :"))
    if(operation == "+"):
        print(add(var1,var2))
    elif(operation == "-"):
        print(sub(var1,var2))
    elif(operation == "*"):
        print(mul(var1,var2))
    else:
        print(div(var1,var2))


main()
Ich verstehe nicht, warum der code ist dargestellt in einer Weise, die ich nicht geben es gerne, aber es ist noch immer setzen mag, die...
Es ist, weil SO verwendet markdown. Ist jetzt behoben. Sieht für mich gibt es keinen Grund für die Verwendung global: hier check bereits global...
Und wenn man Sie fixiert, dass, es gibt mehrere andere Orte, an denen Sie zu Unrecht Platz global. Es ist ein Schlüsselwort, Sie können es nicht verwenden in Ausdrücken.
Danke für die Antwort, es fixiert diesen Fehler, aber jetzt im bekommen es in Zeile 21, in der if-Anweisung. Könnten Sie bitte erklären, wo ich die Globale und wo ich sollte, sowie warum?
Mögliche Duplikate von Python-Funktion Globale Variablen?

InformationsquelleAutor Isac Skoglund | 2017-02-05

Schreibe einen Kommentar