Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python在discord.py上生成排行榜命令?_Python_Python 3.x_Sorting_Discord_Discord.py - Fatal编程技术网

如何使用python在discord.py上生成排行榜命令?

如何使用python在discord.py上生成排行榜命令?,python,python-3.x,sorting,discord,discord.py,Python,Python 3.x,Sorting,Discord,Discord.py,我一直在尝试与我的朋友编写一个Discord机器人,我正在尝试制作一个排行榜命令。我一直在尝试修复命令并重新填充数字,但没有任何效果。您不想排序dict.items(),因为这样您将无法找到键。您可以使用类定义 类排行榜位置: 定义初始(自我、用户、硬币): self.user=用户 self.coins=硬币 并使用一个简单的排序功能(假设您的数据存储在“硬币”中): 排行榜=[] 对于键,以硬币表示的值。项() 排行榜。附加(排行榜位置(关键,价值)) top=已排序(排行榜,关键字=λx

我一直在尝试与我的朋友编写一个Discord机器人,我正在尝试制作一个排行榜命令。我一直在尝试修复命令并重新填充数字,但没有任何效果。

您不想排序
dict.items()
,因为这样您将无法找到键。您可以使用类定义

类排行榜位置:
定义初始(自我、用户、硬币):
self.user=用户
self.coins=硬币
并使用一个简单的排序功能(假设您的数据存储在“硬币”中):

排行榜=[]
对于键,以硬币表示的值。项()
排行榜。附加(排行榜位置(关键,价值))
top=已排序(排行榜,关键字=λx:x.硬币,反面=真)
现在您有了一个名为
top
的列表,其中包含数据。这里是一个简单的排行榜功能

wait message.channel.send(f'*****和{top[0].coins}coins')
尝试:
等待message.channel.send(f'*****和{top[1].coins}coins')
尝试:
等待消息.channel.send(f'*****和{top[2].coins}coins')
除索引器外:
等待message.channel.send('还没有第三名')
除索引器外:
等待message.channel.send('还没有第二名')

您的硬币数据是如何存储的?这是一个字典吗?是的,这是一个字典请在第二个代码中显示你的代码,在那里它进行列表和排序,你能解释更多吗?所以基本上我创建了一个类,这样可以更容易地存储用户标识符和硬币值,这样我就可以按属性对它们进行排序(
x.coins
),并且对象仍然有用户id,因此,可以在消息发送部分使用
来提及它们