我有这个程序
# Controlled Assessment - Basic Times Table Test
import random
import csv
score = 0
print ("Welcome to the times table test")
name = input("Please type your name: ")
classnumber = input ("What is your class number?")
print ("How to play")
print ("Step 1: When you see a question work out the answer and type it in the space.")
print ("Step 2: Once you have typed your answer press the enter key.")
print ("Step 3: The program will tell you if you're right or wrong.")
print ("Step 4: The next question will load and you can repeat from step 1.")
print ("When you have answered all 10 questions your final score will be printed.")
for q in range(10):
Number1 = random.randint(1,12)
Number2 = random.randint(1,12)
ListOfOperator = ['+','-','*']
Operator =random.choice(ListOfOperator)
print ('what is' ,Number1,Operator,Number2)
Answer= int(input ("Please Type Your Answer: "))
questionanswer = (Number1,Operator,Number2)
if Operator == '+':
realanswer = Number1+Number2
elif Operator == '-':
realanswer = Number1-Number2
elif Operator == '*':
realanswer = Number1*Number2
if Answer==realanswer:
print("Your answer is correct")
score = score + 1
print (score)
else:
print("Your answer is incorrect, the correct answer is.",realanswer,".")
print (score)
目前,我有以下代码来保存带有人名的分数。
with open ('class 1', 'a') as Class1:
Class1Writer=csv.writer(Class1)
Class1Writer.writerow ([name, classnumber])
Class1.close()
但是,这会保存到新文件而不是已经创建的 Class1、2 或 3 文件中,我将如何修改"打开"代码以使其保存到 csv 文件中?
with open ('Class3', 'a') as Class3:
Class3Writer=csv.writer(Class3)
Class3Writer.writerow ([name, classnumber])
Class3.close()
我现在为输入添加了 if 语句,但这是说没有定义类 2 和类 3。
如果类号 == ("1"): 将打开("类 1"、"a")作为类 1: Class1Writer=csv.writer(Class1) Class1Writer.writerow ([name, classnumber]) Class1.close()
否则类号 == ("2"): 打开("类 2"、"a")作为类 2: Class2Writer=csv.writer(Class2) Class2Writer.writerow ([name, classnumber]) Class2.close()
其他类号 == ("3"): 打开("类 3"、"a")作为类 3: Class3Writer=csv.writer(Class3) Class3Writer.writerow ([name, classnumber]) Class3.close()
fieldnames=['name','classnumber','score']
if os.path.exists('class1.csv'):
with open('class1.csv', "ab") as csv_file:
Class1Writer = csv.DictWriter(csv_file, delimiter=',',dialect='excel',fieldnames=fieldnames)
Class1Writer.writerow({'name':name,'classnumber':classnumber,'score':score})
else:
with open('class1.csv', "wb") as csv_file:
headers = {}
for n in fieldnames:
headers[n] = n
Class1Writer = csv.DictWriter(csv_file, delimiter=',',dialect='excel',fieldnames=fieldnames)
Class1Writer.writerow(headers)
Class1Writer.writerow({'name':name,'classnumber':classnumber,'score':score})