2017-03-12 12 views
1

を保存しません。私はプレーヤーのスコア変数をファイルに書き込んでいますが、これは通常動作しますが、時にはスコアの代わりに0を書き込むこともあります。これはたまにしか起こりませんが、修正する必要があります。私はそれがplayerscore = 0に設定する前に使用された遅延と関係があると思いますが、それを修正するために何を変えるべきかはわかりません。以下のコード。Pythonの.CSVリーダーライト - スコアは、ランダムに私はPythonで私のリーダーとの奇妙な問題を抱えていますこんにちは

with open('Leaderboard.csv', 'a', newline='') as filepath: 

         a = csv.writer(filepath, delimiter=',') 

         data = [[PlayerScore, player_name]] 

         a.writerows(data) 

       f = open('Leaderboard.csv') 

       csv_f = csv.reader(f) 
       name = [] 
       for row in csv_f: 
         name.append(row) 

       f.close() 
       print(PlayerScore) 
       # set PlayerScore to 0 
       pygame.time.delay(100) 
       PlayerScore = 0 
+3

我々が最初にそれを変更することなく、それを実行し、分析することができるように、あなたのコードは、(http://stackoverflow.com/help/mcve)[完全]になっていることを確認し、あなたのコード – e4c5

+1

をフォーマットすることから始めることができます。 – skrx

+0

エラーを再現することはできないようですので、完全で検証可能な例を投稿してください。 – skrx

答えて

0

これを試してください:あなたがそれらを正しくソートする場合

import csv 


PlayerScore = 25 
player_name = 'Fry' 

# Append to the csv. 
with open('Leaderboard.csv', 'a', newline='') as file: 
    writer = csv.writer(file) 
    writer.writerow((PlayerScore, player_name)) 

# Read the csv. 
with open('Leaderboard.csv', 'r', newline='') as file: 
    score_list = list(csv.reader(file)) 
    for row in score_list: 
     print(row) 

# Afterwards reset the score and name if you have to. 
PlayerScore = 0 
player_name = '' 

は、そうでない場合は、辞書順にソートになるだろう、int型(またはフロート)に、文字列からスコアを変換することを忘れないでください。

+1

あなたのお手伝いをしてくれたようです。 – BoJ

関連する問題