Python 如何在 1 到 6 之间随机抽取 2 个随机数
Python how to randomly pick 2 randoms between 1 and 6
我正在尝试制作这段代码
然后我以随机顺序打印出 3 行数字 1 - 6,这很好。但是有没有办法让它打印 1 到 6 之间的数字对,而不是随机打印 6 个数字?
示例:它当前打印:
[1, 6, 5, 3, 4, 2]
需要打印:
[1, 6]
[5, 3]
[4, 2]
代码:
@bot.command()
async def teams(ctx, players):
await ctx.send("Ido - 1: Yona - 2: Noam - 3: Gil - 4: Liel - 5: Yuval - 6:")
await ctx.send('Calculating...')
from random import shuffle
sequence1 = [i for i in range(1, int(players)+1)]
shuffle(sequence1)
await ctx.send(sequence1)
sequence2 = [i for i in range(1, int(players)+1)]
shuffle(sequence2)
await ctx.send(sequence2)
sequence3 = [i for i in range(1, int(players) + 1)]
shuffle(sequence3)
await ctx.send(sequence3)
使用列表理解,这也将通过在末尾创建一个单一的组来处理不均匀的列表。
l = [1, 6, 5, 3, 4, 2]
n = 2
lst = [l[i:i + n] for i in range(0, len(l), n)]
for i in lst:
print(i)
[1, 6]
[5, 3]
[4, 2]
我正在尝试制作这段代码 然后我以随机顺序打印出 3 行数字 1 - 6,这很好。但是有没有办法让它打印 1 到 6 之间的数字对,而不是随机打印 6 个数字? 示例:它当前打印:
[1, 6, 5, 3, 4, 2]
需要打印:
[1, 6]
[5, 3]
[4, 2]
代码:
@bot.command()
async def teams(ctx, players):
await ctx.send("Ido - 1: Yona - 2: Noam - 3: Gil - 4: Liel - 5: Yuval - 6:")
await ctx.send('Calculating...')
from random import shuffle
sequence1 = [i for i in range(1, int(players)+1)]
shuffle(sequence1)
await ctx.send(sequence1)
sequence2 = [i for i in range(1, int(players)+1)]
shuffle(sequence2)
await ctx.send(sequence2)
sequence3 = [i for i in range(1, int(players) + 1)]
shuffle(sequence3)
await ctx.send(sequence3)
使用列表理解,这也将通过在末尾创建一个单一的组来处理不均匀的列表。
l = [1, 6, 5, 3, 4, 2]
n = 2
lst = [l[i:i + n] for i in range(0, len(l), n)]
for i in lst:
print(i)
[1, 6]
[5, 3]
[4, 2]