回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试创建一个命令,向您展示顶级[x]经验玩家
当我运行这个命令时,除了一件事之外,其他一切都很正常。它会多次打印一些用户。我检查了代码,似乎每当人们拥有与其他人相同的经验时,一个拥有相同经验的用户就会被打印多次。其余的都被跳过了</p>
<p>以下是py代码:</p>
<pre><code>
@client.command()
async def board(ctx):
leaderboard = {}
total = []
with open('scratch.json','r') as f:
users = json.load(f)
for i in users:
user = str(i)
exp = int(users[user]["experience"])
leaderboard[exp] = user
total.append(exp)
total = sorted(total,reverse=True)
index=0
for amt in total:
id = leaderboard[amt]
member = await client.fetch_user(id)
print(f'{member} total: {amt}')
</code></pre>
<p>JSON文件:</p>
<pre><code>{"320927118064222209": {"experience": 6942069420694206942069420, "level": 0}, "414066891246796811": {"experience": 694206942069420, "level": 0}, "261459418665713664": {"experience": 6969, "level": 0}, "401101596638969866": {"experience": 0, "level": 0}, "540680635652767764": {"experience": 15, "level": 0}, "373696339650805760": {"experience": 7, "level": 0}, "399823239037059094": {"experience": 6, "level": 0}, "795218993681006602": {"experience": 6, "level": 0}, "673488589996294145": {"experience": 7, "level": 0}, "754757582421229578": {"experience": 120, "level": 0}, "660774016746913802": {"experience": 96, "level": 0}, "783349784790302742": {"experience": 120, "level": 0}, "252489911611949056": {"experience": 120, "level": 0}, "447055736409686017": {"experience": 120, "level": 0}, "718933950608834602": {"experience": 20, "level": 0}, "739801844141785089": {"experience": 6, "level": 0}, "340317674875781131": {"experience": 26, "level": 0}, "574348578521350146": {"experience": 120, "level": 0}, "625239813116657664": {"experience": 0, "level": 0}, "275369873876713482": {"experience": 1, "level": 0}, "703308818523619358": {"experience": 1500, "level": 0}, "613319859870367754": {"experience": 121, "level": 0}, "701611296906412083": {"experience": 25, "level": 0}, "782219593514090506": {"experience": 0, "level": 0}, "534368639554682890": {"experience": 27, "level": 0}, "724263909003100211": {"experience": 23, "level": 0}}
</code></pre>
<p>打印输出:</p>
<pre><code>clan1500#1500 total: 6942069420694206942069420
mnm#0384 total: 694206942069420
undefined#7426 total: 6969
OIafFromFrozen#1593 total: 1500
HappyKid123#6261 total: 121
clan2300#5041 total: 120
clan2300#5041 total: 120
clan2300#5041 total: 120
clan2300#5041 total: 120
clan2300#5041 total: 120
DemonInvis#0479 total: 96
wawawa#0001 total: 27
Henlo there#3752 total: 26
plant#7541 total: 25
ٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴ#0837 total: 23
sak <3#9556 total: 20
AirFloating#6890 total: 15
1_Ninaaa#6779 total: 7
1_Ninaaa#6779 total: 7
MrAaksh#1704 total: 6
MrAaksh#1704 total: 6
MrAaksh#1704 total: 6
menace#0210 total: 1
liz0216#8045 total: 0
liz0216#8045 total: 0
liz0216#8045 total: 0
</code></pre>
<p>提前谢谢</p>