pythonはファイルを検索し、ある条件を満たすデータ項目を出力します.

3766 ワード

pythonはファイルの検索といくつかの項目の出力を実現します
ここでは、所与のファイル(students.txt)に基づいて、GPAスコアが最も高い出力を検索し、対応する名前と単位を出力します.
一.構想
まずファイルを開き、ファイルの各行を読み取り、名前、単位、GPA値をそれぞれ3つの対応するリストに保存し、GPAリストを遍歴し、その中で最大値の1つを取得する必要があるが、最大値に対応するインデックスを保存し、対応する名前と単位項目の出力を容易にする必要がある.
二.コード#コード#
バージョン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 #       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#   gpa            ,       
    print("the max GPA is {},his name is {} and the scorespoint is {}".format(maxgpa,list_name[index],list_points[index]))

main()

三.くだらない話
簡単操作~給油