|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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):
...
求求了,救救孩子吧!!
欢迎大神(只要比我厉害都叫大神哈哈哈)指导~
- 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)
复制代码
|
|