Python .CSV 排行榜写入 - 随机得分不保存
Python .CSV Leaderboard Write - Score Randomly Doesn't Save
您好,我在 Python 的排行榜上遇到了一个奇怪的问题。我将玩家得分变量写入文件,这通常有效,但有时它只写入 0 而不是他们得分的数字。这只是偶尔发生,但需要修复。我认为这与设置 playerscore = 0 之前使用的延迟有关,但我不确定要更改什么来修复它。下面的代码。
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
试试这个:
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 = ''
如果要正确排序,请不要忘记将分数从字符串转换为整数(或浮点数),否则它们将按字典顺序排序。
您好,我在 Python 的排行榜上遇到了一个奇怪的问题。我将玩家得分变量写入文件,这通常有效,但有时它只写入 0 而不是他们得分的数字。这只是偶尔发生,但需要修复。我认为这与设置 playerscore = 0 之前使用的延迟有关,但我不确定要更改什么来修复它。下面的代码。
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
试试这个:
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 = ''
如果要正确排序,请不要忘记将分数从字符串转换为整数(或浮点数),否则它们将按字典顺序排序。