title: How to save the users name and last 3 scores to a text file?
body: <p>I need to write the last three scores of students and their names into a text file for the teacher's program to read and sort later.
  I still don't know how to save the last 3 scores
  I have tried this so far:</p>
  
  <pre><code>#Task 2
  import random
  name_score = []
  myclass1= open("class1.txt","a")#Opens the text files
  myclass2= open("class2.txt","a")#Opens the text files
  myclass3= open ("class3.txt","a")#Opens the text files
  def main():
      name=input("Please enter your name:")#asks the user for their name and then stores it in the variable name    
      if name==(""):#checks if the name entered is blank
          print ("please enter a valid name")#prints an error mesage if the user did not enter their name
          main()#branches back to the main fuction (the beggining of the program), so the user will be asked to enter their name again
      class_name(name)#branches to the class name function where the rest of the program will run
  def class_name(yourName):
      try:#This function will try to run the following but will ignore any errors
          class_no=int(input("Please enter your class - 1,2 or 3:"))#Asks the user for an input
          if class_no not in range(1, 3):
              print("Please enter the correct class - either 1,2 or 3!")
              class_name(yourName)
      except:
          print("Please enter the correct class - either 1,2 or 3!")#asks the user to enter the right class
          class_name(yourName)#Branches back to the class choice
  
      score=0#sets the score to zero
      #add in class no. checking
      for count in range (1,11):#Starts the loop
          numbers=[random.randint (1,11),
                   random.randint (1,11)]#generates the random numbers for the program 
          operator=random.choice(["x","-","+"])#generates the random operator
          if operator=="x":#checks if the generated is an "x" 
              solution =numbers[0]*numbers[1]#the program works out the answer 
              question="{0} * {1}=".format(numbers[0], numbers [1])#outputs the question to the user
          elif operator=="+":#checks if the generated operator is an "+"
              solution=numbers[0]+numbers[1]#the program works out the answer 
              question="{0} + {1}=".format(numbers[0], numbers [1])#outputs the question to the user
          elif operator=="-":
              solution=numbers[0]-numbers[1]#the program works out the answer
              question="{0} - {1}=".format(numbers[0], numbers [1])#outputs the question to the user
  
          try:
              answer = int(input(question))
  
              if answer == solution:#checks if the users answer equals the correct answer
                  score += 1 #if the answer is correct the program adds one to the score
                  print("Correct! Your score is, {0}".format(score))#the program outputs correct to the user and then outputs the users score
              else:
                  print("Your answer is not correct")# fail safe - if try / else statment fails program will display error message 
          except:
              print("Your answer is not correct")#if anything else is inputted output the following
  
      if score &gt;=5:
          print("Congratulations {0} you have finished your ten questions your total score is {1} which is over half.".format(yourName,score))#when the user has finished there ten quetions the program outputs their final score
      else:
          print("Better luck next time {0}, your score is {1} which is lower than half".format(yourName,score))
  
      name_score.append(yourName)
      name_score.append(score)
  
      if class_no ==1:
          myclass1.write("{0}\n".format(name_score))
      if class_no ==2:
          myclass2.write("{0}\n".format(name_score))
      if class_no ==3:
          myclass3.write("{0}\n".format(name_score))
  
      myclass1.close()
      myclass2.close()
      myclass3.close()
  </code></pre>