我是Python初学者,我正在做一个程序来将XML文件解析为HTML文件。该文件是关于学生记录,并且必须计算总分,并且我无法为其制作功能。如果我的格式不正确,这是我第一次提出问题,非常抱歉。Python将XML解析为HTML:不能通过类型'float'的非整型来乘序列
def overallScore(Weights,studentScore):
totalScore = 0
totalWeight = 0
for i in range(0,len(Weights)):
Weights[i] = float(Weights[i])
totalScore = totalScore + studentScore[i]*Weights[i]
totalWeight = totalWeight + Weights[i]
overall = totalScore/totalWeight
overall = "%.2f" % overall
overallString = '
Overall : ' + overall + '
\n'return overallString
import xml.sax
def characters(self,data):
if (self.inRecords):
if (self.inStudents):
if (self.inStudent):
if(self.inName):
self.studentNames.append(data.strip())
elif (self.inUsername):
self.studentUser.append(data.strip())
elif (self.inScores):
self.studentScore.append(data.strip().split(","))
if (self.inCourse):
if (self.inTitles):
self.Titles = data.strip().split(",")
elif (self.inWeights):
self.Weights = data.strip().split(",")
self.outfile.write(overallScore(self.Weights,self.studentScore))
当我运行我得到这个错误信息的程序:
totalScore = totalScore + studentScore[i]*Weights[i]
TypeError: can't multiply sequence by non-int of type 'float'
我尝试将其转换为整数或浮点数,但他们都没有工作。 这里是xml文件:
Sergey Brin
brinsergey
0.0,90.0,95.0,94.0,0.0,99.0,92.0
Steve Wosniak
signedbywoz
85.0,93.0,98.0,96.0,98.0,100.0,100.0
lab1,lab2,hw1,exam1,lab3,hw2,exam2
3.0,3.0,4.0,6.0,3.0,4.0,10.0
2014-12-04
Mike N