Я пытался создать этот код, и я печатал 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]
Вы можете импортировать случайные данные напрямую и делать их случайными, что сэкономит много времени на кодированиеЕсли вы хотите сделать случайную идею, это код, я проверяю его, чтобы убедиться, что он работает, поэтому не беспокойтесь об этом.
import random numbers = [1, 2, 3, 4, 5, 6] random.shuffle(numbers) print(numbers)