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()
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie setzen
global
wo es nicht benötigte:Brauchen Sie nicht
global
hiercheck
ist schonglobal
hier.if(global check == 1)
,global check = global check + 1
ist auch keine gültige Verwendung vonglobal
.Stattdessen erklären
check
alsglobal
in main():Skoglund müssen Sie nur
global check
einmal in einer Funktion, dann verwenden Sie einfachcheck
wieif(check == 1):
odercheck += 1
.InformationsquelleAutor Reaper