ich habe hier ein kleines Problem und wollte euch um Rat bitten.
Meine frage lautet wie folgt:
Ich habe in meiner Funktion MAIN() 2 Variabeln mit dem namen richtige_antworten und falsche_antworten.
Diese möchte ich am ende der 10 Fragen ausgegeben haben :
print(" Das waren %d richtige und %d falsche Antworten." % (richtige_antworten, falsche_antworten))
print(" Von 25 Fragen haben sie %d richtig und %d falsch beantwortet!" % (richtige_antworten, falsche_antworten))
Mein Problem ist, das die 2 Variabeln nicht definiert sind weil sie ja nur in der Funktion enthalten sind. Jetzt ist die Frage, wie bekomme
ich diese 2 Variabeln aus der Funktion Main(), um sie am ende ausgeben zu können? Vielen dank im vorraus !
Code: Alles auswählen
import random
QUESTION_FILENAME = ("FragenundAntworten.txt")
NUM_QUESTIONS = 10
def read_questions(filename):
with open(filename) as lines:
return [line.strip().split("\t") for line in lines]
def main():
fragen = read_questions(QUESTION_FILENAME)
random.shuffle(fragen)
richtige_antworten = falsche_antworten = 0
for nr, (frage, antwort) in enumerate(fragen[:NUM_QUESTIONS]):
nr += 1
print("FrageNR.%d von %d" % (nr, NUM_QUESTIONS))
print("~~~~~~~~~~~")
guess = input(frage)
datei=open("FalscheAntworten.txt","a")
print(nr,"___FRAGE:",frage,"___","___RICHTIGE ANTWORT:",antwort,"___","___IHRE ANTWORT:",guess,"___","___ERGEBNIS:",antwort == guess, file=datei)
if guess.lower() == antwort:
richtige_antworten += 1
print("Richtig!")
else:
falsche_antworten += 1
print("Falsch, die korrekte Antwort lautet %s!" % antwort)
print("| Richtig: %d | Falsch: %d" % (richtige_antworten, falsche_antworten))
print("-----------------------------------------------------------")
datei.close()
if __name__ == '__main__':
main()
print(" Das waren %d richtige und %d falsche Antworten." % (richtige_antworten, falsche_antworten))
print(" Von 25 Fragen haben sie %d richtig und %d falsch beantwortet!" % (richtige_antworten, falsche_antworten))
print("--------------------------------------------------------------")
while True:
answer = input("Run again? (y/n): ")
if answer not in ('y', 'n'):
print("Invalid input.")
break
if answer == 'y':
print("--------------------------------------------------------------")
print("Allgemine Infomationen:")
print(" Von 25 Fragen haben sie %d richtig und %d falsch beantwortet!" % (richtige_antworten, falsche_antworten))
print("--------------------------------------------------------------")
main()
else:
print("Goodbye")
break