【问题标题】:How do I use a dictionary to find the average of the grades in the list using a file?如何使用字典在使用文件的列表中查找平均成绩?
【发布时间】:2020-01-08 21:22:42
【问题描述】:

文件grades.txt 包含虚构课程中随机学生的成绩。文件的每一行是一个学生的名字,后跟一个空格,然后是一个整数成绩。我想编写一个程序,从文件中读取数据,然后打印出每个学生的姓名和平均分。

我对自己想要做什么有一个大致的了解,并且我正在努力使其更准确,但我有点困惑。我知道我应该阅读文件并使用字典来存储成绩并对其进行平均,但我不确定如何同时使用文件和字典。

inFile = open('grades.txt','r')
lines = inFile.read()

fix_list = lines.replace('\n',' ') #Replace '\n' with spaces before getting rid of them.
new_list = fix_list.split(' ') #List without spaces or '\n'
length_list = len(new_list) - 1 
print(new_list)

以下是 Grades.txt 文件中的具体内容:

Cleese 80
Gilliam 78
Jones 69
Jones 90
Cleese 90
Chapman 90
Chapman 100
Palin 80
Gilliam 82
Cleese 85
Gilliam 80
Gilliam 75
Idle 91
Jones 90
Palin 90
Cleese 88

这是我的代码应该吐出的内容(不是在新文件中,而是为了打印):

Gilliam 78.75
Jones 83.0
Cleese 85.75
Chapman 95.0
Idle 91.0
Palin 85.0

【问题讨论】:

    标签: file dictionary python-3.7


    【解决方案1】:

    我不确定你在代码 sn-p 中做了什么。

    你想做的是:

    • 实例化字典
    • 在文件上使用 readlines() 而不是 read() 以便获得列表中的行
    • 对于每一行,将其拆分并将成绩存储在字典中,使得名称是键,值是列表中的所有成绩。
    • 遍历字典并打印名称和平均值。平均而言,您可以执行 sum(list)/len(list)

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多