2013-03-21 6 views
0
flink = open("C:/python27/2of12inf.txt", "rU") 
words = [ ]    
for eachline in flink :  
    words += [eachline.strip()] 
flink.close()     
print "%d words read" % len(words) 
return words 

Как выбрать 6 случайных букв из этого списка?Выбор случайных букв для Hangman

+2

Пожалуйста, не кричите. –

+0

Случайные буквы или случайное слово? –

+2

Я бы не использовал каталог установки Python в качестве рабочего пространства, если бы был вами. –

ответ

2

Самый простой способ, которым я могу думать о том, чтобы рандомизировать весь список и взять столько элементов, сколько вам нужно:

>>> words = "one two three four five six seven eight nine ten".split() 
>>> import random 
>>> random.shuffle(words) 
>>> words[:6] 
['two', 'five', 'six', 'seven', 'four', 'one'] 
>>> random.shuffle(words) 
>>> words[:6] 
['five', 'seven', 'nine', 'three', 'four', 'eight'] 
0

random.sample немного чище

>>>words = "one two three four five six seven eight nine ten".split() 

>>>import random 

>>>random.sample(words, 6) 
['six', 'seven', 'eight', 'nine', 'three', 'ten'] 

>>>random.sample(words, 6) 
['three', 'five', 'four', 'six', 'one', 'ten'] 

>>>random.sample(words, 6) 
['ten', 'five', 'two', 'nine', 'seven', 'eight'] 
0

Эта функция возвращает случайная строка из переданного списка строк.

def getRandomWord(wordList): 
    wordIndex = random.randint(0, len(wordList) - 1) 
    return wordList[wordIndex] 

Эта функция получает случайное слово, используя def выше.

secretword = Randomword(hangmanwords) 
Смежные вопросы