首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找CSV文件中三个数字的平均值

查找CSV文件中三个数字的平均值
EN

Stack Overflow用户
提问于 2016-03-29 16:55:30
回答 1查看 72关注 0票数 0

我已经创建了一段代码,但是我已经开始尝试找到每个人的平均分数,但不知道还能做什么。代码不起作用:

代码语言:javascript
复制
def average():#makes function 'average'
print ("\nThe Average Score")#outputs the title 'The Average Score'
for pupils in classScore:
    pupil["total"] = (int(pupil["Pupil's Score 1"])+int(pupil["Pupil's Score 2"])+int(pupil["Pupil's Score 3"]))
    pupil["average"] = (pupil["total"]//3)
    print (pupil["Pupil's Name"]+pupil["average"])
average()

CSV文件的布局如下:

代码语言:javascript
复制
Pupil's Name     Pupil's Score 1    Pupil's Score 2       Pupil's Score 3
Joao                  10                 9                       8
Rebecca                7                 6                       5
Snuffles               0                 1                       2

出现的错误消息是:

代码语言:javascript
复制
Traceback (most recent call last):


File "E:/Controlled Assesment Computing/Controlled Assesment/Task 3/Try 18.py", line 56, in <module>
    average()
File "E:/Controlled Assesment Computing/Controlled Assesment/Task 3/Try 18.py", line 53, in average
    print (pupil["Pupil's Name"]+pupil["average"])
TypeError: Can't convert 'int' object to str implicitly

如果有人能帮上忙,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-03-29 17:31:36

这条信息看起来很清楚:

代码语言:javascript
复制
TypeError: Can't convert 'int' object to str implicitly

您必须执行操作才能将数字转换为字符串。试试这个:

代码语言:javascript
复制
print(pupil["Pupil's Name"]+str(pupil["average"]))

你将这种方法限制在三个学生身上,这对你自己来说是一种伤害。你可以很容易地让它适用于任何数量的学生。

我建议不要使用这种平均方法进行打印。一个方法应该做好一件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36279649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档