专栏首页用户2119464的专栏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取到

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • hexo + github搭建博客(Mac版)

    在地址栏中输入 https://Xing-hui.github.io 即进入你的博客.

    星辉
  • geth 搭建 私有链节点

    作为区块链的起始区块,其他区块直接或间接引用到创世区块。因此要运行以太坊私有链,需要定义自己的创世区块,创世区块信息写在一个 JSON 格式的配置文件中。

    星辉
  • 面经-浏览器请求部分

    https://segmentfault.com/a/1190000016612988

    星辉
  • 从零开始学习React-解析json、渲染数据(六)

    在上一节里面,从零开始学习React-axios获取服务器API接口(五)我们请求的api是一个天气的api,这一节是如何获取数据,进行解析,并且渲染到前端。

    祈澈菇凉
  • 特征工程

    特征工程和数据清洗转换是比赛中至关重要的一块,因为数据和特征决定了机器学习的上限,而算法和模型只是逼近这个上限而已,所以特征工程的好坏往往决定着最后的结果

    mathor
  • 简单易学的机器学习算法——极限学习机(ELM)

    一、极限学习机的概念        极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法。 EL...

    zhaozhiyong
  • 详解Parcel:快速,零配置web应用打包工具。

    译者按: 新一代Web应用打包工具Parcel横空出世,快速、零配置的特点让人眼前一亮。

    Fundebug
  • 区块链如何拯救世界?

    如果你还不知道区块链是什么以及它是如何解决问题的,你可以在这里阅读我以前的主题文章......

    MelodyS
  • Python案例——喝墨水的小乌龟

    (本文为前一篇文章《理解编程语言只需四个词-编程知识体系介绍(带python及scratch案例)》的说明案例之一)

    一石匠人
  • 在软件开发中实施人工智能和敏捷管理的9种方法

    几十年来,人工智能通过帮助各行各业的企业蓬勃发展,证明了其价值。从汽车制造厂的机器人到预测货币和库存变动到交易员,人工智能是我们生活的一部分。

    Java架构师历程

扫码关注云+社区

领取腾讯云代金券