对于这段代码,我试图获得一个类的整体平均值。我打开文件,然后从字典中删除所有字符和行条,只获得每个学生的分数。然后,我尝试获取文件的总和,然后除以长度,但我得到一个错误。
average = (sum(file)/len(file))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
这是代码:
with open('classtwo.csv', 'r', newline='') as csv_file:
newfile = (str.strip("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z") for str in csv_file if str.strip("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"))
file = [line.strip() for line in newfile if line.strip()]
average = (sum(file)/len(file))
print(average)
任何人都知道如何解决此错误?
答案 0 :(得分:0)
file
是一个字符串列表。 sum
函数需要一个数字。
要获得平均值,您应该将file
中的每个条目转换为数字:
e.g。 file = [float(x) for x in file]