2017-07-20 8 views
0

テキストファイルからスライスした情報を計算して表示するにはどうすればよいですか?テキストファイルの情報は次のようになります。John、90、87、98名前と3つのテストスコアが含まれています。私は、成績の平均を含めて各人のための行に情報を表示しなければならない。私はこの間、ほとんど進展がなく、何日も続いています。私はリストに情報をロードしようとしました。しかし、私はグレードを整数に変換することができませんでした。望ましい結果を達成するための最良の方法は何でしょうか?また、平均を計算できるように、グレードを整数に変換する方法もあります。テキストファイルからスライスした情報を計算して表示する

+0

これまでに試したこととどこで問題が発生したのかを記入してください。 [\ [SO \]:確認する方法](https://stackoverflow.com/help/how-to-ask)または[\ [SO \]:mcve](https://stackoverflow.com/help/)をチェックしてください。 mcve)を参照してください。 – CristiFati

答えて

0

intを使用してください。

with open("myfile") as f: 
    for line in f.readlines(): 
     row = line.split(",") 
     name = row[0] 
     scores = [int(e.strip()) for e in row[1:]] 
     print "Name: {}\nAverage: {}".format(name, sum(scores)/float(len(scores))) 
+0

ありがとうございます。これはどうやってこれを行うのか分かりませんでしたので、これは間違いなく助けになります。私はどのように同じ行に3点、平均を印刷するのですか?それは私が理解できなかった別の問題でした。 – Mike

+0

@Mikeフォーマットコールを変更します。例えば、 'print" {} {} "。(浮動小数点数)/ float(浮動小数点数))' – Tomoki

+0

ありがとうございます。これで、同じ行に名前とスコアが表示されるようになりました。しかし、平均は新しいラインにあります。どのように見出しと整列するように書式を調整するのですか?これは私が得る出力です。 ___________________________________________ 学生名得点1得点2得点3合計 -------------------------------------- ------------------------------- Dave 82 91 77 83.33333333333333 Tom 79 22 84 61.666666666666664 Dick 67 96 91 84.66666666666667 – Mike

関連する問題