Reputation: 63
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)
Upvotes: 6
Views: 2536
Reputation: 2700
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.
Upvotes: 4
Reputation: 269
Here is an example of your code with opening and writing to a file.
import random
score = 0
question = 0
output = open('my_score', 'a')
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 += 1
else:
print('You Fail')
elif operation == '-':
answer = num1 - num2
if Q == answer:
print("correct")
score += 1
else:
print("you fail")
else:
answer = num1 * num2
if Q == answer:
print("correct")
score += 1
else:
print("you fail")
print("thank you for playing your score is", score)
output.write(score)
output.close()
Upvotes: 0
Reputation: 343
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()
Upvotes: 1