我试图使不和谐的随机数生成器命令,这将选择一个随机数从用户已发送的,第一个数字,用户可以输入任何数字,但第二个数字,用户需要输入比第一个数字更大的数字,因此机器人将选择一个随机数字之间的第一和第二个数字。该命令运行良好,但数字只选择第一个或第二个数字,而不是第一个和第二个数字之间的随机数。代码如下:
@client.command()
async def randomnumber(ctx):
def check(msg):
return msg.author == ctx.author and msg.content.isdigit() and \
msg.channel == ctx.channel
embed1 = discord.Embed(title = "Random Number Generator!!", description = "<:_Paimon6:827074349450133524>", color = ctx.author.color)
embed1.add_field(name='Type a number', value=f'First Number : Not Yet Added!!!\nSecond Number : Not Yet Added!!!', inline=False)
await ctx.send(embed = embed1)
msg1 = await client.wait_for("message", check=check)
embed2 = discord.Embed(title = "Random Number Generator!!!", description = "<:_Paimon6:827074349450133524>", color = ctx.author.color)
embed2.add_field(name='Type a second number, higher number than first number', value=f'First Number : {msg1.content}\nSecond Number : Not Yet Added!!!', inline=False)
await ctx.send(embed = embed2)
msg2 = await client.wait_for("message", check=check)
x = int(msg1.content)
y = int(msg2.content)
if x < y:
value = (x,y)
embed3 = discord.Embed(title = "Random Number Generator!!", description = "<:_Paimon6:827074349450133524>", color = ctx.author.color)
embed3.add_field(name='Result number', value=f'First Number : {msg1.content}\nSecond Number : {msg2.content}\n\nYou got {random.choice(value)} <:_pTooEaassy:827076106884087818>', inline=False)
await ctx.send(embed = embed3)
else:
embed4 = discord.Embed(title = "Random Number Generator!!", description = "<:_Paimon6:827074349450133524>", color = ctx.author.color)
embed4.add_field(name='Error', value='You didnt enter the number correctly so paimon dont know what to send <:_Paimon10:827077240079777812>', inline=False)
await ctx.send(embed = embed4)我知道问题出在"value“值上,但我不知道我应该怎么做才能让机器人在两个数字之间选择一个随机数,谢谢。
发布于 2021-07-04 02:44:28
您可以使用random.randrange函数
>>> import random
>>> values = (1, 10) # hardcoding for demonstration purposes
>>> random.randrange(*values) # unpacking the tuple
6
>>> random.randrange(*values)
3
>>> random.randrange(*values)
4https://stackoverflow.com/questions/68238772
复制相似问题