2016-03-23 5 views
1

Ich würde gerne wissen, wie ich eine Variable in einer Funktion verwenden kann, aber dann auch außerhalb der Funktion. Hier ist ein Teil meines Codes, der 1 zur Punktzahl hinzufügen soll, wenn die Antwort korrekt ist, dann die Gesamtpunktzahl danach ausdrucken (es gibt mehr als eine Funktion, so dass ich die Punktzahl außerhalb der Funktion brauche) : egal kehrtWie verwende ich eine Variable, so dass es innerhalb und außerhalb einer Funktion ist

score=0 
def Geography(score): 
#Question 1 
qa1= input("What is the capital of England? ") 
if qa1.lower() == ("london"): 
    print ("Correct you gain 1 point") 
    score=score+1 
else: 
    print ("Incorrect") 

Geography(score) 
print ("This quiz has ended. Your score is " , score, ".") 

wie Sie sehen können, habe ich versucht, Argumente zu verwenden, aber der Code noch die Partitur als 0 am Ende, wenn die Person die Antwort richtig verstanden habe hat.

Antwort

1

Return score aus der Funktion und weisen es score zurück

score=0 
def Geography(score): 
    #Question 1 
    qa1= input("What is the capital of England? ") 
    if qa1.lower() == ("london"): 
     print ("Correct you gain 1 point") 
     score=score+1 
    else: 
     print ("Incorrect") 
    return score 

score = Geography(score) 
print ("This quiz has ended. Your score is " , score, ".") 
+0

Dieser den Code verursacht, sich zu wiederholen, aber immer noch sagt, dass die Punktzahl 0 – Sofia

+0

Wie es der Code selbst verursacht zu wiederholen? Ich habe es gerade getestet und es hat gut funktioniert. Haben Sie mehr Dinge in Ihrem Code, die Sie nicht in die Frage gestellt haben? – Munir

+0

Sorry, der Code wiederholt sich nicht mehr, das war meine Schuld. Es gibt mehr als 1 Funktion, in der der Benutzer wählen muss, also wenn er die Funktion aufruft, ist es in einer if-Anweisung. – Sofia

Verwandte Themen