Ich habe ein arithmetisches Quiz gemacht, das Ihnen zehn Fragen und die Klasse, in der Sie sich befinden, stellt. Der Benutzer wird seinen Namen eingeben und entweder 1,2 oder 3 eingeben. Dann wird er den Benutzer fragen die zehn Fragen, aber am Ende werden die Daten gespeichert, die den Namen und die Noten des Benutzers in eine TXT-Datei namens Class1Score, Class2Score oder Class3Score. in der Datei gespeichert werden, ist der Benutzer gefragt, welche Daten sie gerne sehen würdeSo bestellen Sie die TXT-Dateien
import time
import math
import random
print("Title:Arithmetic Quiz")
print("*************************************************************")
print("This program will ask you to complete the arithmetic quiz.")
print("The program has 10 questions. You will recieve feedback after.")
print("____________________________________________________________"
while True:
UserName = input("What is your name?:")
if not UserName.isalpha():
print("Error!Please enter your name using letters. ")
continue
else:
break
ClassSelection= input("Please enter what Class you are in?:1, 2 or 3")
ClassChosen=0
while ClassChosen==0:
if ClassSelection=="1":
ClassChosen=1
elif ClassSelection=="2":
ClassChosen=1
elif ClassSelection=="3":
ClassChosen=1
else:
print("You must write 1, 2, or 3.")
ClassSelection=input("Enter the class you are in")
print(UserName," welcome to the Arithmetic Quiz.")
print("____________________________________________")
print("The quiz will begin in 3 seconds")
time.sleep(2)
for i in range(0,3):
print (3 - i)
time.sleep(1)
print("Begin!")
print("*****************************************")
#___________________________________________________________________________________________________________________________________
RecentStudent= [0,0,0]
def MathsQuiz():
score=0
for questionNum in range(10):
Num1= random.randint (1, 10)
Num2= random.randint (1, 10)
Symbol = ["+","-","*"]
Operation = random.choice(Symbol)
RealAnswer= int(eval(str(Num1)+Operation+str(Num2)))
print("Please give an answer for:", Num1, Operation, Num2)
UserAnswer = int(input("Enter your answer here:"))
if UserAnswer == RealAnswer:
score = score + 1
print("You are correct! :D")
print("_______________________________________________")
else:
print("You are incorrect! :(")
print("The answer was", RealAnswer)
print("________________________________________________")
print()
print("__________________________________________________")
print("Thank you for completing the quiz!")
print("Your Score is loading")
import time
time.sleep(2)
print(UserName,"In this test you achieved",score,"/10")
print()
del RecentStudent[0]
RecentStudent.append(score)
print("Your three most recent scores are:",RecentStudent)
print("********************************************************")
def Resit1():
Resit1=input("Do you want to resit the test? Yes or No?:")
if Resit1== "Yes" or Resit1=="yes":
MathsQuiz()
def Resit2():
Resit2=input("Do you want to resit the test? Yes or No?:")
if Resit2== "Yes" or Resit2=="yes":
MathsQuiz()
print("Quiz Finished")
#____________________________________________________________________________________________________________________________________________________________
MathsQuiz()
Resit1()
Resit2()
if ClassSelection=="1":
Class1 = []
Class1.append("Student: ")
Class1.append(UserName)
Class1.append("Latest 3 Scores: ")
Class1.append(RecentStudent)
file = open("Class1Scores.txt", 'a')
file.write(str(Class1))
file.write("\n")
file.close()
elif ClassSelection=="2":
Class2=[]
Class2.append("Student: ")
Class2.append(UserName)
Class2.append("Latest 3 Scores: ")
Class2.append(RecentStudent)
file = open("Class2Scores.txt", 'a')
file.write(str(Class2))
file.write("\n")
file.close()
elif ClassSelection==3:
Class3 = []
Class3.append("Student: ")
Class3.append(UserName)
Class3.append("Latest 3 Scores: ")
Class3.append(RecentStudent)
file = open("Class3Scores.txt", 'a')
file.write(str(Class3))
file.write("\n")
file.close()
Was ich nach den Noten machen wollte:
Hier ist mein Code, der die Arithmetik-Quiz zeigt. Die Daten, die der Benutzer sehen kann, sind die höchsten, ergeben das niedrigste Ergebnis, die durchschnittliche Punktzahl, die Namen in alphabetischer Reihenfolge und die höchsten Punktzahlen aus jeder Klasse. Ich verwendete Dummy-Werte, die die letzten drei Noten des Benutzers in der Datei im Format 1,2,10 speichern würden. Hier
ist ein Beispiel dafür, was die Ausgabe an die TXT-Datei ist, wenn ich die Noten zu speichern:
['Student: ', 'clive', 'Latest 3 Scores: ', [0, 0, 0]]
Dies ist das Format speichert es, wie ich weiß nicht, wie die Ergebnisse in die sortieren Datentypen des neuen Programmsortierers.
Sie können den [PEP8 Python Style Guide] (https://www.python.org/dev/peps/pep-0008/) zu lesen, Jeder, der Ihren Code lesen muss, wird es Ihnen danken. Wie jetzt geschrieben, ist Ihr Code fast nicht mehr lesbar. –
Sortieren einer Datei ist so 80er Jahre haben Sie daran gedacht, eine SQLite verwenden? Wenn Sie das nicht möchten, ist es am einfachsten, die gesamte Datei in den Speicher zu schreiben und sie mit einer geeigneten Schlüsselfunktion zu sortieren. – e4c5
@ e4c5 Könnten Sie mir bitte dabei helfen? – juniour