5つの変数を含むクラスから作成されたキーを含む辞書があります。私は、クラスvarsの1つでこの辞書をソートしたい。クラス変数の1つで5変数を保持するクラスを含む辞書を並べ替える
def addplayer(players):
newName = input("\nEnter new Player name or 9 to quit: ")
wins = "0"
losses = "0"
ties = "0"
winpercent = "0"
if not newName:
print("\nNo name detected try again")
addplayer(players)
elif newName == '9':
print("\nReturning to Options menu")
else:
players[newName] = Player(newName,wins,losses,ties,winpercent)
saveData(players)
return players
最終的に私は、ソートハイスコアリストに取り組んでいます:ここ
は、私は現在、私はこのようなプレーヤーが保存
class Player:
def __init__(self,name,wins,losses,ties,winpercent):
self.__name = name
self.__wins = wins
self.__losses = losses
self.__ties = ties
self.__winpercent = winpercent
# mutators
def setname(self,name):
self.__name = name
def setwins(self,wins):
self.__wins = wins
def setlosses(self,losses):
self.__losses = losses
def setties(self,ties):
self.__ties = ties
def setwinpercent(self,winpercent):
self.__winpercent = winpercent
# accessors
def getname(self):
return self.__name
def getwins(self):
return self.__wins
def getlosses(self):
return self.__losses
def getties(self):
return self.__ties
def getwinpercent(self):
return self.__winpercent
def displayHighScores(self):
print("\n"," "*2,self.__name," "*(24-len(self.__name)),self.__wins)
def displayplayers(self):
print(self.__name)
を持っているものです。今すぐ次のように辞書を印刷することができます:
def printhiscores(players):
print("\n"," "*13,"HiScores")
print(" "*3,"Name"," "*20,"Wins")
if len(players) == 0:
print("\nNo current Players in memory.")
else:
for x in players.keys():
players[x].displayHighScores()
DisplayHighScores()はクラスオブジェクトの一部です。
は私が
OrderedDict(sorted(players.items(), key=itemgetter(1)))
を使用してソート辞書に読んでてきたが、これは編集返します:例外TypeError:「を<は」「プレーヤー」
再び私は「プレイヤー」のインスタンスとの間でサポートされていません自分の勝利属性で選手の辞書を並べ替えて、この新しい注文をハイスコア画面に印刷することを考えています。どんな助けでも大歓迎です。私がこれ以上自分自身で進歩を遂げると、私は投稿します。
ああ、今すぐ見つけました。だから、あなたは私の答えの後半に来る。将来的には、エラーの表示を切り換えて、質問の前提を変更しないでください。 –
私はこのエラーを修正しようとする試みを実行し、間違った完全なエラーコードを投稿したことは、もっと問題でした。編集は私が修正しようとしていたエラーコードでした。ご協力いただきありがとうございます –
これは私たちがあなた自身でテストする適切な[MCVE]を求める理由です。将来の投稿については、例外の完全なトレースバックも含めていただければ幸いです。 –