def dealHand(n):
"""
Returns a random hand containing n lowercase letters.
At least n/3 the letters in the hand should be VOWELS.
Hands are represented as dictionaries. The keys are
letters and the values are the number of times the
particular letter is repeated in that hand.
n: int >= 0
returns: dictionary (string -> int)
"""
hand={}
numVowels = n/3
for i in range(numVowels):
x = VOWELS[random.randrange(0, len(VOWELS))]
hand[x] = hand.get(x, 0) + 1
for i in range(numVowels, n):
x = CONSONANTS[random.randrange(0,len(CONSONANTS))]
hand[x] = hand.get(x, 0) + 1
return hand
Эта функция является частью игры слов, я должен был сделать, он был включен в некоторые вспомогательные функции, чтобы помочь начать, моя проблема заключается в том, что буквы, которые она возвращает не очень случайных, есть много повторяющихся писем вроде: a a c c b e e g j j m m m o o r t v y x
, мне просто интересно, можно ли получить более случайный набор символов?случайные символы для слова игры питона
Вы когда-нибудь вызывали random.seed()? Для инициализации генератора случайных чисел необходимо вызывать семя. –
Нет, вам не нужно вызывать 'random.seed', текущее системное время используется для инициализации генератора, когда модуль сначала импортируется. – Matthias
Можете ли вы объяснить, что вы хотите в прозе (а не в коде)? –