Я пытаюсь получить случайную работу в python с помощью модуля random
. Моя функция выглядит следующим образом:
import random
word_file = "/usr/share/dict/words"
WORDS = open(word_file).read().splitlines()
def get_random_word(max_length=None):
word = random.choice(WORDS)
print(word)
if not max_length:
return word
if len(word) > max_length:
get_random_word(max_length)
return word
Когда я импортирую эту функцию в ipython
консоль и запускаю как get_random_word(max_length=5)
, я получаю такой результат:
Latasha's
Hammond's
evacuated
aviary
misconducted
airfare's
controllable
unduly
gaunt
Out[32]: "Latasha's"
Как видно из На выходе функция вызывает себя, пока не найдет слово длиной менее 5. Но в конце оно возвращает самое первое случайное слово. Что не так с моей функцией?