生成列表的随机排列

时间:2016-03-28 10:44:50

标签: python python-3.x random shuffle

我正试图制作一个“终端黑客”游戏,但我被困在某个地方 这是我的代码目前的样子:

import random

candidateWords = ['AETHER', 'BADGED', 'BALDER', 'BANDED', 'BANTER', 'BARBER'] #etc, etc

def wordlist():
    for index, item in enumerate(random.sample(list(candidateWords), 8)):
        print(index, ") ", item,  sep='')           
one = random.choice(candidateWords)
print(one)  

print("Welcome to the Guess-The-Word Game.\nThe Password is one of these words:")

我正在尝试列出8个单词并列举它以为每个单词提供一个数字。然后,从8个单词中,我需要随机选择一个单词作为答案,但我不知道如何。

我想使用random.sample()random.choice()

1 个答案:

答案 0 :(得分:1)

random.sample()的第二个参数应为< =第一个参数的长度,否则将生成异常。
其余的代码似乎没问题。

import random

candidateWords = ['AETHER', 'BADGED', 'BALDER', 'BANDED', 'BANTER', 'BARBER']

candidateWordsShuffled = random.sample(candidateWords, min(len(candidateWords), 8))


def wordlist():
    for index, item in enumerate(candidateWordsShuffled):
        print(index, ") ", item, sep='')

one = random.choice(candidateWordsShuffled)
print(one)

print("Welcome to the Guess-The-Word Game.\nThe Password is one of these words:")
wordlist()