另存为 1、2 和 3 类的 CSV



我有这个程序

# 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})

最新更新