a。阅读文件并报告每个学生的成绩。等级是每个问题的等级总和。这些列是制表符分隔的。您需要使用float()函数将字符串转换为浮点数。您也可以使用sum()函数,该函数将列表作为输入并返回其元素的总和。Python浮点/求和函数
原始文件:
%%file midterm-grades.txt
1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 5.1 5.2 5.3 5.4a 5.4b 5.5 5.6
===========================================================================================================================
1 1 1 1 1 3 3 4 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 2 2 2 2 2
===========================================================================================================================
0 0.5 0.5 1 1 3 2 3 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 1.5 2 0 1.5 1.5 1.5
0 0.5 1 1 1 3 3 4.5 1.5 1.5 1.5 1.5 0.5 1.5 0 0 0 0 0 0 0 0 2 2 1.5 1.5 2 2 2
0 0.7 0.5 1 1 3 0 0 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 2 2 2 2 1 2 2
1 0.5 0.8 1 1 3 0 0 1.5 1.5 1.3 1.5 1.5 0.7 1.5 1.5 1.5 1.5 0 1.5 1.5 1.5 2 1.5 2 0 2 2 2
1 1 1 1 1 1.5 2 2 1.5 1.5 1 1.5 1.5 0.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 1.5 2 2 1
1 0.7 0.5 0 0 2.5 0 0 1.5 1.5 1.5 1.5 0 0.5 1.5 1.5 1.5 0.5 0.5 0 0.5 0.5 2 2 2 0 0 0 0
1 1 1 1 1 3 0 0 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 2 2 2 0 2 1.5 0
1 0.7 0.8 1 1 3 3 3 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 2 2 1.5 1.5 0 0 0
1 1 1 1 1 3 3 4 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 2 2 1.5 1.5 0 1 0
1 1 1 1 1 2.5 3 4 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 0 1.5 1.5 1.5 2 2 2 2 2 2 2
1 1 1 1 1 2 3 4.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 1.5 0.5 1.5 2 2 1.5 2 2 2 2
1 0.5 1 1 1 3 2.5 4 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 1.5 2 2 2
1 0.7 0.8 1 1 1.5 3 5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 2 1.5 1 2 2
1 1 1 1 1 3 3 3 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 0 1 0 0
1 1 1 1 1 3 3 5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 2 2 2 2 2
1 0.7 0.5 1 1 1.5 1 0.5 1.5 1.5 1.5 1.5 1.5 0 1.5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 2 2 1.5 2 0 0 0
1 0.7 0.8 1 1 0 1 0.5 0 1.5 1 1.5 0 0.5 1.5 1.5 1.5 1.5 1.5 0 0.5 1.5 2 2 1.5 0 0 0 0
1 0.7 0.8 1 1 1.5 0 0.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 2 2 2 0 2 2 2
1 0.7 0.8 0.5 1 3 3 4 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 2 0 2 2 1.5
1 1 1 1 1 3 3 5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 2 2 2 2 2 2 2
1 1 1 1 1 3 3 5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 1.5 1.5 2 2 1.5 1.5 2 2 2
1 1 1 1 1 3 3 5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 1.5 0.5 1.5 1.5 1.5 1.5 1.5 2 2 2 2 1 1 2
1 1 1 1 1 3 2 3 1.5 1.5 1 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 2 2 1.5 0 2 0 2
1 1 1 1 1 3 3 5 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.3 1.5 2 2 2 2 2 1 2
1 1 1 0.5 0.5 2.5 0 0 1.5 1.5 1.5 1.3 0 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 0 1 2 0
1 1 1 1 1 3 0 0 1.5 1.5 1 1.5 0 1.5 1.5 1.5 1.5 0.5 1.5 1.5 1.5 1.5 2 2 1.5 0 2 2 0
1 0.5 0.8 1 1 3 0 0 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 1 1.5 2 2 2 0 2 2 2
1 1 1 1 1 3 3 5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 1 1.5 2 2 2 0 1 2 2
1 0.7 1 1 1 3 2 4 1.5 1.5 1 1.5 1.5 1 1.5 1.5 1.5 1.5 1 1.5 0.5 1.5 2 2 2 0 2 2 2
1 0.5 1 1 1 3 2 3 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 1 2 2 2
1 0.7 1 1 1 2.5 3 3 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 0.5 1.5 2 2 1.5 0 2 2 1.5
1 0.7 0.8 1 1 3 2 2 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 1.5 1.5 2 2 1 0 2 2 2
1 1 1 1 1 3 3 4 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 1.5 2 2 2
1 0.5 0.3 1 1 1.5 3 3.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 1.5 0 1 1 1
1 0.8 1 0 0 0 0 0 1.5 1.5 1 1.5 1.5 0 1.5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 2 2 1.5 1.5 2 2 1.5
1 0.5 0.8 1 1 3 1 1.5 1.5 1.5 1 1.5 1.5 1.5 1.5 1.5 1.5 0.5 1.5 1.5 1.5 1.5 2 2 2 2 2 2 2
1 0.3 0.8 1 1 1.5 3 3 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1 1.5 1 1.5 2 2 1.5 1.5 2 2 2
1 1 1 1 1 3 2 2 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2 2 2 2 2 2 2
这是我的代码:
# Read file
midterm = open("midterm-grades.txt", "r")
# Report grade for each student
midterm_content = midterm.read()
indiv = midterm_content.split("\n")
# Get rid of Headers
students = indiv[4:]
for i in students :
withouttabs = i.split("\t")
print "Student grade is ", sum(float(withouttabs))
无法弄清楚如何浮动档次,所以我可以做的和功能,或者在这个几乎完全丧失点。
+0
想必你得到'类型错误:浮置()参数必须是一个字符串或number',在这种情况下,你应该发布的[mcve]是'float([])' - 你需要分别转换列表中的每个数字*。 –
+0
你能提供一些你的文件? –
+0
嗨,乔恩,谢谢你回到我身边!在原始数据集中,有很多数字 - 有没有更快的方法来做到这一点? –