0

8 行のテキスト ファイルが与えられ、各行には ID 番号、名前、セクション、グレードが空白で区切られています。特定のセクションの平均を返すことになっています。私はPythonが初めてなので、それを理解しようとして恐ろしい時間を過ごしています。誰か助けてくれませんか?私のパラメータはランダムなテキストファイルとセクション番号です

def average_by_secion (テキストファイル、セクション):

'''(io.TextIOWrapper, str) -> flt or NoneType
4

2 に答える 2

2
listOfLines = []
while file:
   listOfLines.append(file.readline())
   total = 0
   numOfGrades = 0
   for i in listOfLines:
       total+=int(i.split()[3])
   numOfGrades += 1

return total/numOfGrades

おもう...

于 2012-11-07T20:41:48.773 に答える
0

一般的なプロセスを投稿するだけです:

  1. ファイルのすべての行を読み取り、セクションが必要なセクションと一致するかどうかを確認します。Python でファイルを読み取る方法に関する チュートリアルはたくさんあります。Csvモジュールは、行をリストまたは辞書に変換するのに役立ちます

  2. 行に一致するセクション番号がある場合は、そのグレードをコレクションリストに追加できます section_grades_list = []

  3. 平均する成績のリストを取得したら、そこからはかなり簡単なはずですsum(section_grades_list) / len(section_grades_list)

于 2012-11-07T20:37:58.043 に答える