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调用java的Webservice示例
Mar 10 Python
Python获取Linux系统下的本机IP地址代码分享
Nov 07 Python
python比较2个xml内容的方法
May 11 Python
利用Python开发微信支付的注意事项
Aug 19 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 Python
Python中asyncio模块的深入讲解
Jun 10 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
Python算法中的时间复杂度问题
Nov 19 Python
python实现图片插入文字
Nov 26 Python
Python中six模块基础用法
Dec 08 Python
解决python 读取 log日志的编码问题
Dec 24 Python
python神经网络Xception模型
May 06 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
javascript 节点遍历函数
2010/03/28 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
python计算日期之间的放假日期
2018/06/05 Python
python简易远程控制单线程版
2018/06/20 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
统计岗位职责
2014/02/21 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
党员教师一句话承诺
2014/05/30 职场文书
环保口号大全
2014/06/12 职场文书
五四演讲稿范文
2014/09/03 职场文书
同学毕业留言寄语
2015/02/27 职场文书
安全生产感想
2015/08/07 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers