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 相关文章推荐
Python的ORM框架SQLObject入门实例
Apr 28 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
Python实现的rsa加密算法详解
Jan 24 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
详解python中的time和datetime的常用方法
Jul 08 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
python使用pymysql模块操作MySQL
Jun 16 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脚本的10个技巧(4)
2006/10/09 PHP
FCKeditor添加自定义按钮
2008/03/27 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
[JS]点出统计器
2020/10/11 Javascript
img标签中onerror用法
2009/08/13 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
学前教育求职自荐信范文
2013/12/25 职场文书
党校培训思想汇报
2013/12/30 职场文书
高二历史教学反思
2014/01/25 职场文书
移交协议书
2014/08/19 职场文书
医德医风自我评价
2014/09/19 职场文书
公司合作协议范文
2014/10/01 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
杨善洲观后感
2015/06/04 职场文书
小学运动会加油稿
2015/07/22 职场文书
教师师德承诺书2016
2016/03/25 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers