【发布时间】:2016-03-26 20:13:26
【问题描述】:
我为学生创建了一个测验,以测试他们的算术技能。我希望将学生列表及其分数写入 csv 文件。我正在努力写入文件,虽然我已经成功了,但 excel 文件不包含任何数据。它显示“[] 得分:[]”。非常抱歉代码效率低下,但任何帮助都可以解决这个问题。
我创建了 2 个空列表和一个变量。
Student = []
Score = []
QuizTaken = 0
这定义了何时将分数附加到列表中。
def QuizTaken(): #the amount of quizzes taken by student
while QuizTaken <= 3:
userName, ClassName = Introduction() #used to input name and class using raw_input
score = Quiz()
Student.append(userName) #student's inputted name is appended to list
Score.append(score) #student's final score is appended to list
QuizTaken()
此代码以字符串的形式将列表写入文件,但是我认为我的问题出在某个地方,但是我找不到它。
def WriteToFile():
userName, ClassName = Introduction()
score = Quiz()
print ""
if ClassName == "10x1":
print "Creating a text file for your teacher..."
fileWrite = open("10x1 Class Score.csv", "a+")
fileWrite.write("Score for ")
fileWrite.write(str(Student))
fileWrite.write(" : ")
fileWrite.write(str(Score))
fileWrite.write("\n")
fileWrite.close()
代码应将附加到空列表中的名称和分数写入 csv 文件,数据可供我查看,但不应被覆盖。
【问题讨论】:
-
最好将
dict用于此目的,而不是将其存储在两个不同的列表中。你需要参加 Python 基础的入门课程。因为你误解了一些必要的事情。 -
您将 QuizTaken 用作函数和变量名称。你也不会在循环体中增加你的计数器(QuizTaken)