Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to write to file with Python?

Tags:

python

file-io

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)
like image 816
Josh Shirtliff Avatar asked Oct 19 '22 20:10

Josh Shirtliff


2 Answers

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.

like image 116
SirParselot Avatar answered Oct 21 '22 15:10

SirParselot


This is how you open and write to a file :

# Open a file
fo = open("foo.txt", "w") # Creates a file object 'fo'
fo.write("Output text goes here")

# Close opened file (good practice)
fo.close()
like image 32
tombam95 Avatar answered Oct 21 '22 15:10

tombam95