Python как случайным образом выбрать 2 рандома от 1 до 6 - PullRequest
0 голосов
/ 15 октября 2018

Я пытался создать этот код, и я печатал 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)

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Используя понимание списка, это также будет обрабатывать неровные списки, создав единственную группу в конце.

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]
0 голосов
/ 15 октября 2018

Вы можете импортировать случайные данные напрямую и делать их случайными, что сэкономит много времени на кодированиеЕсли вы хотите сделать случайную идею, это код, я проверяю его, чтобы убедиться, что он работает, поэтому не беспокойтесь об этом.

import random

numbers = [1, 2, 3, 4, 5, 6]
random.shuffle(numbers)
print(numbers)
...