python 实现查找文件并输出满足某一条件的数据项方法


Posted in Python onJune 12, 2019

python 实现文件查找和某些项输出

本文是基于给定一文件(students.txt),查找其中GPA分数最高的 输出,同时输出其对应的姓名和学分

一. 思路

首先需要打开文件,读取文件的每一行,将姓名,学分,GPA值分别存到三个对应的列表中,对于GPA列表进行遍历,获取其中值最大的一项,但是需要保存最大值对应的索引,方便输出对应的姓名和学分项

二. 代码

版本1

# -*- coding: utf-8 -*-
"""
Created on Thu Feb 1 12:24:18 2018

@author: Administrator
"""

def main():
  file=open("students.txt",'r') 
  lines=file.readlines() #使用readlines()函数 读取文件的全部内容,存成一个列表,每一项都是以换行符结尾的一个字符串,对应着文件的一行

  list_name=[] #初始化一个空列表 用来存该文件的姓名 也就是第一列
  list_scores=[]
  list_gpa=[]

  for line in lines:   #开始进行处理 把第一列存到list_name 第二列存到list_scores,,,,,
    elements=line.split()
    list_name.append(elements[0])
    list_scores.append(elements[1])
    list_gpa.append(elements[2])

  max_gpa=0 
  index=0

  for i in range (len(list_gpa)):  #对于列表list_gpa 遍历该列表找其中gpa分数最高的
    if max_gpa <float(list_gpa[i]):
      max_gpa=float(list_gpa[i])
      index=i      #这一步就是记录list_gpa中GPA最高的在列表的第几个位置,方面输出对应的姓名和分数
  print("the person is {0} and the scores are {1} ,the gpa is {2}".format(list_name[index],list_scores[index],max_gpa))

main()

版本2

#这个是根据第二项hours和第三项points的比值,哪个值大就输出对应的学分points和GPA值points/hours

def main():
  file=open("students.txt",'r')
  lines=file.readlines()
  list_name=[]
  list_hours=[]
  list_points=[]

  for line in lines:
    elements=line.split()
    list_name.append(elements[0])
    list_hours.append(elements[1])
    list_points.append(elements[2])

  list_gpa=[] #这个列表用来存放hours 和points之间的比值

  for i in range(len(list_name)):
    a=float(list_hours[i])
    b=float(list_points[i])
    c=b/a
    list_gpa.append(str(c))  #把原来list_hours 和list_points中对应项的比值都存到list_gpa列表中

  maxgpa=0
  for i in range(len(list_gpa)):  #找list_gpa中值最大的那项
    if maxgpa<float(list_gpa[i]):
      maxgpa=float(list_gpa[i])
      index=i  #记录下gpa值最大的那项对应的索引值,方便输出其他项
  print("the max GPA is {},his name is {} and the scorespoint is {}".format(maxgpa,list_name[index],list_points[index]))

main()

以上这篇python 实现查找文件并输出满足某一条件的数据项方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3实现带附件的定时发送邮件功能
Dec 22 Python
pandas的object对象转时间对象的方法
Apr 11 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
Python面向对象之反射/自省机制实例分析
Aug 24 Python
python中join()方法介绍
Oct 11 Python
Python 一句话生成字母表的方法
Jan 02 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
python 实现绘制整齐的表格
Nov 18 Python
基于plt.title无法显示中文的快速解决
May 16 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
Jul 27 Python
Python当中的array数组对象实例详解
Jun 12 #Python
Django模型序列化返回自然主键值示例代码
Jun 12 #Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 #Python
python 列表输出重复值以及对应的角标方法
Jun 11 #Python
使用python list 查找所有匹配元素的位置实例
Jun 11 #Python
python找出一个列表中相同元素的多个索引实例
Jun 11 #Python
三步实现Django Paginator分页的方法
Jun 11 #Python
You might like
PHP学习资料汇总与网址
2007/03/16 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
异步加载script的代码
2011/01/12 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
在python中的socket模块使用代理实例
2014/05/29 Python
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
Python导入oracle数据的方法
2015/07/10 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
采购主管工作职责
2013/12/12 职场文书
关于逃课的检讨书
2014/01/23 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
七一党日活动总结
2014/07/08 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
四风查摆剖析材料
2014/10/10 职场文书
骨干教师申报材料
2014/12/17 职场文书
义卖募捐活动总结
2015/05/09 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
Python如何让字典保持有序排列
2022/04/29 Python