题目:

  当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。分 别用函数实现以下功能:

(1) 定义函数function1,计算每个学生的平均分(取 整数),并将所有学生的学号和平均分在屏幕上 输出。(函数参数为要读取文件的文件名)

def function1(flname):
f=open(flname)
a=f.readlines()
del a[0]
L3=[]
for line in a:
line=line.strip()
L1=line.split()
avg_score=int((int(L1[1])+int(L1[2]))/2)
L3.append([L1[0],avg_score])
f.close()
print("学号 平均分")
for L2 in L3:
print(L2[0]+" "+str(L2[1]))
function1("e:\\test\\test.txt")

运行结果:

(2) 定义函数calAvg(),计算某一门课程的平均分(函 数参数为某门课成绩对应的列表名,返回值为该 门课的平均分)

def avg(L):
sum,count=0,0
for score in L:
sum+=score
count+=1
avg_score=int(sum/count)
return avg_score
def calAvg():
f=open("e:\\score3.txt",encoding='utf-8')
a=f.readlines()
del a[0]
L2=[]
L3=[]
for line in a:
line=line.strip()
L1=line.split()
L2.append(int(L1[1]))
L3.append(int(L1[2]))
f.close()
print("专业课1的总平均分为",avg(L2))
print("专业课2的总平均分为",avg(L3))
calAvg()

 运行结果:

score3.txt

学号 专业课1 专业课2
20200101 88 90
20200102 85 90
20200103 89 93
20200104 89 90
20200105 89 90

python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。的更多相关文章

  1. Python小记-- 读取当前目录下所有文件名

    # -*- coding: utf-8 -*- import os def file_name(file_dir): with open("SelectAllFiles.txt", ...

  2. linux 在当前目录下查找一个,或者多个文件

    1.find ./ -name "y*" 查找以y开头的文件. find ./ -name "*sql*" 查找包含 sql 的文件名 2.查找redis su ...

  3. Linux命令 ,在当前目录下查找一个,或者多个文件

    1,find ./ -name "y*" 查找以y开头的文件. 2,列出gearman进程 ps -aux | grep gearman 3,查看一个文件下,所有文件夹的大小 du ...

  4. SVN莫名出错,网上找遍无果,递归删除当前目录下所有.svn文件名

    哎,太深刻的教训. 原来以前其它目录里有.SVN目录 ,而此SVN目录COPY到真正的SVN工作目录之后,会将有用的.SVN目录覆盖. 那么一样,显然,CI,UPDATE,CO之间的命令全部异常... ...

  5. Python获取文件夹下的所有文件名

    1 #获取文件夹内的图片 2 import os 3 def get_imlist(path): 4 return [os.path.join(path,f) for f in os.listdir( ...

  6. python 运行当前目录下的所有文件

     查看当前目录下所有py文件(本身除外run) import os file_list = os.listdir(os.getcwd()) # 获取当前目录下所有的文件名print(file_list ...

  7. python遍历文件夹下的文件

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法.下面列出: os.path.abspath(path) #返回绝对路径 os.path.basename ...

  8. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  9. python 实现文件夹下所有文件或文件夹重命名

    os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表. 它不包括 . 和 .. 即使它在文件夹中. 只支持在 Unix, Windows 下使用. os.path 模块主要 ...

随机推荐

  1. uboot配置和编译过程详解

    根据朱有鹏老师讲解整理 一.uboot主Makefile分析 1.uboot version确定(Makefile的24-29行) include/version_autogenerated.h文件是 ...

  2. SpringBoot-集成通用mapper

    SpringBoot-集成通用mapper SpringBoot-集成通用mapper ​ 我们在SpringBoot中整合了MyBatis,但是大量重复的增删改查还是很头疼的问题,MyBatis也给 ...

  3. CentOS7.x关闭防火墙

    使用命令:systemctl status firewalld.service 查看防火墙状态 执行后可以看到绿色字样标注的“active(running)”,说明防火墙是开启状态 使用命令:syst ...

  4. [题解] LuoguP5666 树的重心

    这个题......确实是CSPNOIP题qwq 感觉猜到一个性质就差不多了,首先,对于一棵树,随便拎一个节点\(rt\)当根节点,那么他的重心一定在\(rt\)的重儿子里,进一步的,可以发现重心一定在 ...

  5. Window Server 2019 配置篇(3)- 建立hyper-v集群并在其上运行win10 pro虚拟机

    上次讲到我们的域里有了网关跟DHCP,这次我们要在域中建立hyper-v集群并在其上运行win10 pro虚拟机 那么什么是hyper-v集群呢? 就是两个及两个以上的运行hyper-v服务的服务器建 ...

  6. [转]SparkSQL的自适应执行---Adaptive Execution

    1 背景 本文介绍的 Adaptive Execution 将可以根据执行过程中的中间数据优化后续执行,从而提高整体执行效率.核心在于两点 执行计划可动态调整 调整的依据是中间结果的精确统计信息 2 ...

  7. JavaScript使浏览器不使用缓存

    方法一: script标签中src链接,或者link标签的href链接,后面加上版本号: <script type='text/javascript' src='//site.com/js.js ...

  8. POJ 2521:How much did the businessman lose

    How much did the businessman lose Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9965 ...

  9. 13 —— node 获取文件属性 —— 加载第三方模块

    以加载第三方时间处理模块( moment )为例 : 一,加载 npm install moment 二,使用介绍 1,点击进入npm官网 https://www.npmjs.com/ 2,搜索 mo ...

  10. cf 444C.

    听说这是线段树的裸题??(看来我也就能搞个求和什么的了2333) #include<bits/stdc++.h> #define INF 0x7fffffff #define LL lon ...