Python File I/O – How to Write to File

file-iopython

How would I write the scores to a file?

import random
score=0
question=0
for i in range(10):
       num1= random.randint(1,10)
       num2= random.randint(1,10)
       ops = ['+', '-', '*']
       operation = random.choice(ops)
       Q = int(input(str(num1)+operation+str(num2)))

       if operation =='+':
              answer=num1+num2
              if Q == answer:
                     print ("correct")
                     score=score+1

              else:
                     print('You Fail')

       elif operation =='-':
              answer=num1-num2
              if Q == answer:
                     print ("correct")
                     score=score+1
              else:
                     print("you fail")

       else:
              answer=num1*num2
              if Q == answer:
                     print ("correct")
                     score=score+1
              else:
                     print("you fail")
print("thank you for playing your score is",score)

Best Answer

You can manually open and close a file but it is better to use with since it handles closing the file for you.

with open("score_file.txt",'a') as f:
    f.write(score)

'a' means append to file which does not overwrite the previous contents - this is what you are probably looking for. From what I can tell you are going to want to add this after the print statement or right before. If you don't understand reading and writing to files, then you should check out this link.

Related Question