2017-03-12 1 views
1

안녕하세요 저는 파이썬으로 순위표에 이상한 문제가 있습니다. 나는 파일에 기록되는 선수 ​​점수 변수를 가지고 있지만, 보통 때로는 그냥 점수를 매기는 대신 0을 씁니다. 가끔씩 만 발생하지만 수정해야합니다. 나는 그것이 playerscore = 0으로 설정하기 전에 사용 된 지연과 관련이 있다고 생각하지만, 그것을 고치기 위해 무엇을 바꾸어야할지 모르겠습니다. 아래 코드.Python .CSV 스코어 보드 쓰기 점수 임의로 저장하지 않음

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

먼저 코드 서식을 지정하십시오. – e4c5

+1

코드를 변경하지 않고 실행하고 분석 할 수 있도록 코드가 [complete] (http://stackoverflow.com/help/mcve)인지 확인하십시오. – 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

관련 문제