def data_in(): f = open("data.txt","w") num = int(input("请输入想要统计的人数:")) #班上的人数num count = 1 while count <= num: print("此次是您的第%d次输入" % count) #%前面不是逗号,而是空格 s = input("请依次输入统计人姓名及每次作业成绩:") s += "\n" f.write(s) count += 1 f.close() #数据写入函数 def data_process(): f = open("data.txt") lines = f.readlines() #形成list类型数据 f.close() results = [] for line in lines: data = line.split() #将每一行的数据分开 sum = 0 #总数初始化为0 for score in data[1:]: sum += int(score) result = "%s\t:%d\n" % (data[0], sum) results.append(result) return results #数据加工函数 def result_out(results): output = open("results.txt", "w") output.writelines(results) output.close() #数据输出函数 data_in() results = data_process() result_out(results)
以上程序中所用到的知识点如下:
- split()
用法:sentence.split()
#split()按照字符串的空格进行分割,返回一个list
#括号内填入指定符号,可以指定分割
- join()
用法:s.join(list)
#join()是字符串的方法
#字符串作为连接符,连接括号内的list
- 字符串一些与list相似的操作
遍历
#for...in...
索引访问
#通过[]加索引
切片
#与spilt方式同
连接字符
#连接符将每个字符连接
- 文件操作
打开文件
f = open('data.txt')
#默认只读形式
f = open('data.txt','w')
#正常写入,覆盖原内容
#数据文件可不存在,自动新建
f = open('data.txt','a')
#写入,不覆盖原内容
读取文件
read()
用法:data = f.read()
#把文件内所有内容读入一个字符串
readline()
#读取一行内容
readlines()
#把内容按行读取至一个list中
写入文件
write()
writelines()用法:f.write(data)
用法:f.writelines(results)
#用于输出list单元
#一般每一行与list单元对应,故每个list单元后有换行符
关闭文件
close()
用法:f.close()
- for line in lines
#lines为list类型数据
#list中每个个体都遍历一遍,被line取到
8030

被折叠的 条评论
为什么被折叠?



