2016-04-25 26 views
1
file = open("resultsA.txt", "r") 
    for line in file: 
     x = line.split(",") 
     a = x[0] 
     score_one = x[1] 
     score_two = x[2] 
     score_three = x[3] 
     names = sort(a) 
     maximum = max(score_one + score_two + score_three) 
     print(names + "-" + maximum) 

私は正常にテストしたこのコードを作成し、一連の変数の最大値を出力しました。 hereアルファベット順に並べ替え

+3

(あなたを実行してテキストとしてエラーを投稿コンソール内のコード) – jfs

+0

ありがとうございました。 "トレースバック(最新の呼び出し最後): ファイル" C:\ Users \ Nightly \ Desktop \ Python \ Task 3.py "、行42、 の名前=ソート(a) TypeError: 'str'オブジェクトは呼び出し可能ではありません " – Nightly

答えて

0

x[0]として(後a)されています。しかし、私はそれが働いていなかったアルファベット順にしかしすべての名前を出力するように、変数「名」を整理しようとしてきたと私は、このエラーを提示しています行の最初のエントリは、sort(a)は期待どおりに動作しません。 (あなたがsortedを意味することができる、sortを内蔵されていない?)でもsortの実装がここに欠けている

を名前とスコアのリストを構築し、全体のリストをソートする必要があります。

このような何かを試してみてください:テスト用

file_results = open("resultsA.txt", "r") 
lines_splited=[line.strip().split(",") for line in file_results] 
lines_sorted=sorted(lines_splited, key=lambda v:v[0]) 
results=[(name, max(a,b,c)) for name, a, b, c in lines_sorted] 

for name, score in results: 
    print(name+"-"+score) 

マイresultsA.txt:

C,2,1,0 
A,1,2,3 
B,3,4,1 

結果のスクリプトを実行している:

A-3 
B-4 
C-2 
+0

遅い回答をおかけして申し訳ありませんが、これによりコードが大幅に理解され、コードを修正して動作させることができました。どうもありがとうございます! – Nightly