搜索
简帛阁>技术文章>python入门(四) 统计班级同学总成绩(涉及文件)

python入门(四) 统计班级同学总成绩(涉及文件)

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()

用法:f.write(data)

writelines()

用法:f.writelines(results)

#用于输出list单元

#一般每一行与list单元对应,故每个list单元后有换行符

关闭文件

close()

用法:f.close()


  • for line in lines

#lines为list类型数据

#list中每个个体都遍历一遍,被line取到


defdata_in():fopen(datatxt,w)numint(input(请输入想要统计的人数:))班上的人数numcount1whilecount此次是您的第%d次输入%count)%前面
python蓝桥杯真题成绩统计问题描述小蓝给学生们组织了一场考试,卷面分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。请计算
1!/bin/bash/python2*coding:utf8*3svn统计url代码行数脚本,过滤空行,不过滤注释。45importsubprocess,os,sys,time,re,shutil6
1预备知识:动态数组Array实现;2解题过程需要理解的知识:吧唧吧唧吧唧吧唧不想做了就用了最简单的方法和c语言类似java版本`importjavautilScanner;/本学期一班级有n名学生,
题目描述成绩统计小蓝给学生们组织了一场考试,卷面分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。请计算及格率和优秀率,用百
免费分享,平时搬砖,周末会录制匹配的视频。配套视频地址:https://wwwbilibilicom/video/BV1eQ4y1U7os/当你想要放弃的时候,想想当初为什么坚持到了现在!!!新建项目
为什么提交高质量的bug因为这是测试师的职责所在,测试师存在的意义。2bug的定义软件未实现产品说明书要求的功能产品出现了产品说明书指明不应该出现的错误软件实现了产品说明书未提到的功能(画蛇添足
Python的运算符和其他语言类似(我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍数学运算代码如下:>>>print1+9加法>>>