python 实现查找文件并输出满足某一条件的数据项方法
作者:哈哈哈哈士奇VIP 发布时间:2021-05-10 11:51:30
标签:python,查找,文件,输出
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()
来源:https://blog.csdn.net/jiaowosiye/article/details/79226836


猜你喜欢
- 标准库的fnmatch库专门用来进行文件名匹配,支持使用通配符进行字符串匹配。1、fnmatch:判断文件名是否符合特定的模式;2、fnma
- SQLite支持多种编程语言的开发调用:C, C++ , PHP, Perl, Java, C# ,Python, Ruby等。本篇先介绍P
- Java 正则表达式判断字符串是否以字符开始:public static boolean startWithChar(String s) {
- JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言
- 1 命令行窗口 开始栏搜索command,打开命令提示符,即为命令行窗口。运行一个Python程序,需要输入:Python + 程序地址 +
- 对dataframe绘图并保存:ax = df.plot() fig = ax.get_figure()fig.savefig('f
- FBVFBV,即 func base views,函数视图,在视图里使用函数处理请求。以用户注册代码为例,使用两个函数完成注册初级注册代码d
- instr函数为字符查找函数,其功能是查找一个字符串在另一个字符串中首次出现的位置。instr函数在Oracle/PLSQL中是返回要截取的
- 引言事情是这样的,最近在做开源软件供应链安全相关的项目,之前没了解这方面知识的时候感觉服务器被黑,数据库被删,网站被攻,这些东西都离我们太遥
- 本文分析了让ThinkPHP的模板引擎达到最佳效率的方法。分享给大家供大家参考,具体如下:默认情况下ThinkPHP框架系统默认使用的模板引
- 本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下import numpy as np import matp
- 对于目前众多的验证码解决方案来说,这个API有着中国电信这个重量级的运营商为靠山,应该是比较靠谱的了,而且还是免费的。详细情况请参阅:htt
- 代码如下:'******************************************** '函数名:I
- 1 引言 在关系数据库(DB2,Oracle,Sybase,Informix和SQL Server)最小的恢复和交易单位为一个事务(Tran
- identity-card验证身份证号码的正确性,不能仅仅通过正则表达式来验证,我们都知道我国的身份证一共是18位,由十七位数字本体码和一位
- 最近在改个程序用到了在js中设置css的float属性,以为和平常的写法一样,原来不是,只好去请教google,原来...首先大家先来看一下
- 最近要做一个网站需要用到天气预报,本来是想找到API,自己写一个自己的天气预报小程序的,没有成功,只好去找现成的代码调用。经过测
- 本文意在弄清楚这些概念间的关系及其作用。弄清Mysql在开启事务的情况下,每条sql执行时的加锁操作和MVCC版本控制。为使讨论简单,本文忽
- 详解python实现读取邮件数据并下载附件的实例实现结果图:实现代码:#!/usr/bin/python2.7# _*_ coding: u
- 1. 概述JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模