鱼C论坛

 找回密码
 立即注册
查看: 1150|回复: 1

[已解决]写好函数后怎么读取文件中的数据,将这些数据存入一个字典啊,请大佬帮忙看看!谢谢!

[复制链接]
发表于 2021-3-26 12:03:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
课堂小设计:   从文件中读数据,存入字典
Grades.txt 文件。如下:
0052 77.5
0072 37.5
0144 62.5
0162 72.5
0173 100
0190 55.0
0196 95.0
0225 82.5
0268 97.5
0306 57.5

def read_grades(gradefile):
grade_to_ids = {}
line = gradefile.readline()
while line != ‘’:
student_id = line[:4]
grade = float( line[4:].strip())
if grade not in grade_to_ids:
grade_to_ids[grade] = [student_id]
else:
grade_to_ids[grade].append(student_id)
line = gradefile.readline()
return grade_to_ids
这是已经写好的例子,是一个函数,读取文件,将数据存入一个字典,字典的 key 是分数,对应的 value 是一个列表,代表得这个分数的学生学号
练习 1:调用这个函数,查看运行结果
练习 2:程序设计
Step1: 从文件中读取数据存入一个字典
Step2: 统计各分数段的人数(0-9; ...; 60-69;70-79;80-89;90-99;100)
Step3: 将统计结果输出(进阶:以直方图形式存入另一文件)
提示:
分别设计 3 个函数来完成相应功能:
一个读取函数;一个统计函数;一个写文件函数
读文件函数, 将文件里的分数读入一个列表
def read_grades(gradefile):
...
return grades

统计函数,统计各分数段人数
def count_grade_ranges(grades):
...
return range_counts
写入文件函数,将各分数段人数变成相应个数的“ * ”,写进一个文件的相应行
def write_histogram(range_counts, histfile):
...


求求了,救救孩子吧!!
欢迎大神(只要比我厉害都叫大神哈哈哈)指导~
最佳答案
2021-3-26 12:35:11
Dict = {}
f = open("Grades.txt","r",encoding = "utf-8")
data = f.readlines()
for i in data:
    key,value = i.split()
    Dict[key] = value
print(Dict)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-26 12:35:11 | 显示全部楼层    本楼为最佳答案   
Dict = {}
f = open("Grades.txt","r",encoding = "utf-8")
data = f.readlines()
for i in data:
    key,value = i.split()
    Dict[key] = value
print(Dict)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 07:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表