如何在不复制任何第一输出的情况下打印第二输出?

这是因为我不能选择与朋友相同的玩家。他是第一输出,我是第二输出。请帮帮我。以下是我所拥有的。

随机导入

玩家=('Giannis','LeBron','KD','Curry','Harden','AD','RW','Kawhi','Lillard','Kyrie','PG13',                         'Klay','Jimmy','Dwyane','Blake','MJ','KarlAnthony','BenSim','JohnW','Melo')

c_starting5 = random.sample(玩家,k = 5) i_starting5 = random.sample(玩家,k = 5)

c = c_starting5 i = i_starting5

打印(c) 打印(i)

评论
别掏心
别掏心

由于您希望将10个唯一的随机播放器分成两组,每组五个,所以所有播放器在这两个组之间仍然是唯一的,因此建议您取样10个,然后将其切片:

pool = random.sample(players, 10)
i_starting5, c_starting5 = pool[:5], pool[5:]
点赞
评论
krerum
krerum

据我了解,问题是您希望第二位玩家无法选择第一位玩家选择的任何玩家。

实现此目的的一种方法是建立一个新的球员列表,其中不包括已经选择的球员。您可以将i_starting5更改为以下内容。

此示例使用列表理解来创建尚未选择的新玩家列表

i_starting5 = random.sample([p for p in players if not(p in c_starting5)], k=5)
点赞
评论
回家吃饭
回家吃饭

If you need to have a random sample of the players tuple stored in i_starting5 and not duplicated in c_starting5 then the code you need is this:

import random

players = ('Giannis', 'LeBron', 'KD', 'Curry', 'Harden', 'AD', 'RW', 'Kawhi', 'Lillard', 'Kyrie', 'PG13',
                        'Klay', 'Jimmy', 'Dwyane', 'Blake', 'MJ', 'KarlAnthony', 'BenSim', 'JohnW', 'Melo')

c_starting5 = random.sample(players, k=5)

left_players = list(set(players) - set(c_starting5)) # This line added

i_starting5 = random.sample(left_players, k=5)

c = c_starting5
i = i_starting5

print(c)
print(i)
点赞
评论