Python列表、字典、文件使用方法
一、实验目的
1.掌握Python中列表的使用方法2.掌握Python中字典的使用方法3.掌握Python中文件的使用方法二、实验内容
1.题目:编写input()和output()函数输入,输出5个学生的数据记录,每个学生信息包括学号,姓名及三门课程的成绩。要求使用list来模拟学生记录结构。#stu=[num,name,[Chinese,Math,English]]#例如:stu=[\张三\N=5
student=[]
foriinrange(5):
student.append(['','',[]])
definput_stu(stu):
foriinrange(N):
stu[i][0]=input('inputstudentnum:\\n')stu[i][1]=input('inputstudentname:\\n')forjinrange(3):
stu[i][2].append(int(input('score:\\n')))
defoutput_stu(stu):
foriinrange(N):
print('{:6s}-{:10s}'.format(stu[i][0],stu[i][1]),end=””)forjinrange(3):
print('{:8d}'.format(stu[i][2][j]),end=””)
print()if__name__=='__main__':
input_stu(student)output_stu(student)2.
有两个磁盘文件A.txt和B.txt,各存放一行字符(请同学们将A.txt和B.txt放在和程序相同的文件夹中,并自行在其中添加一行字符),要求把这两个文件中的信息合并(按字母顺序重新排列),并输出到一个新文件C中。if__name__=='__main__':
importstringfp=open('A.txt')a=fp.read()print(a)fp.close()
1fp=open('B.txt')b=fp.read()print(b)fp.close()
fp=open('C.txt','w')l=list(a+b)l.sort()s=''
s=s.join(l)print(s)fp.write(s)fp.close()
3、当前工作目录下有一个文件名为class_score.txt的文本文件,存放着某班学生的学号(第1列)、数学课成绩(第2列)和语文课成绩(第3列),每列数据用制表符(\\t)进行分隔,文件内容如下所示:
请编程完成下列要求:
(1)分别求这个班数学和语文的平均分(保留1位小数)并输出。
(2)找出两门课都不及格(<60)的学生,输出他们的学号和各科成绩。(3)找出两门课的平均分在90分以上的学生,输出他们的学号和各科成绩。建议用三个函数分别实现以上要求。
defoutput_avg(L):sum1,sum2=0,0forlineinL:L1=line.strip().split('\\t')sum1+=int(L1[1])sum2+=int(L1[2])count=len(L)avg1=round(sum1/count,1)avg2=round(sum2/count,1)print(\这个班的数学平均分为:%4.1f,语文平均分为:%4.1f\defoutput_notpass(L):print(\两门课均不及格的学生学号及数学、语文成绩为:\forlineinL:L1=line.strip().split('\\t')ifint(L1[1])<60andint(L1[2])<60:2print(line)defoutput_good(L):print(\两门课平均分在90分以上的学生学号及数学、语文成绩为:\forlineinL:L1=line.strip().split('\\t')f_score=round((int(L1[1])+int(L1[2]))/2)iff_score>=90:print(line)f=open(\L=f.readlines()output_avg(L)output_notpass(L)output_good(L)3