Python 生成列表的随机排列
我正在尝试制作一个“终端黑客”游戏,但我被困在某个地方。Python 生成列表的随机排列,python,python-3.x,random,shuffle,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
这就是我的代码当前的外观:
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()
随机.sample()的第二个参数应该是注意:我忘了从单词列表()中取出(单词)。请忽略:)和“一=随机。选择(候选词)打印(一)”部分完全是我想做的事情。它不起作用谢谢你的回复,但现在它似乎只打印一个选定的单词,而不打印其他8个单词。(因为我需要打印8个随机单词+8个单词中的1个选定单词。)嗯,wordlist()
函数不打印随机列表吗?哦,对不起,我忘了在末尾粘贴wordlist()。但是它显示了“候选词”中的100个词。你知道如何从中只提取8个词吗?(我是否在for循环中键入8个词?只需将len(候选词)
替换为8
。谢谢,代码现在显示8个词,但是是随机的。选择是从原始的“候选词”列表中选择一个词,而不是从这8个词中选择一个词:(
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()