我正在创建一个排行榜创建系统,它会检查名称是否已经在数据库中,如果没有,它会添加它,如果是,它会替换名称和分数。
import csv
winner =["Player", 100]
def leaderboardsave(winner):
fileCSV = open('scores.csv')
dataCSV = csv.reader(fileCSV)
playersScores = list(dataCSV)
winnerName = winner[0]
winner_index = playersScores.find(winnerName)
if winner_index > -1:
playersScores[winner_index] = winner
else:
playersScores.append(winner)
leaderboardsave(winner)
CSV保存方式如下:
Player, 20
Player2, 40
Player3, 30
Player4, 60
每当我运行时
winner_index = playersScores.find(winnerName)
它返回"list对象没有属性"find"有其他方法可以找到该项目在列表中的位置吗?当我尝试使用.index时,它找不到它,我想它是在寻找一个列表,而不是一个字符串?
由于playerScores
是一个列表对象,而list
对象没有find
函数,因此会出现此错误。
您可以通过循环遍历列表来查找值:
winner_index = [index for index, value in enumerate(playerScores) if value == winnerName]