Python random.choice всегда выбирает первое значение - PullRequest
0 голосов
/ 18 марта 2020
AUDIO_FILES = [
    os.path.join(settings.AUDIO_FILES_DIR, "1.mp3"),
    os.path.join(settings.AUDIO_FILES_DIR, "2.mp3"),
    os.path.join(settings.AUDIO_FILES_DIR, "3.mp3"),
    os.path.join(settings.AUDIO_FILES_DIR, "4.mp3"),
    os.path.join(settings.AUDIO_FILES_DIR, "5.mp3"),
]

def _get_audio_clip():
    audio_file = random.choice(AUDIO_FILES)
    audio_clip = AudioFileClip(audio_file)
    return audio_clip

_get_audio_clip()

Кто-нибудь может указать, почему random.choice всегда возвращает первое значение списка в этом фрагменте кода?

1 Ответ

0 голосов
/ 18 марта 2020

Этот ответил на мой вопрос. Процитируем ответ:

В результате Unix каждый рабочий процесс наследует одно и то же состояние генератора случайных чисел от родительского процесса. Вот почему они генерируют идентичные псевдослучайные последовательности.

Использование random.seed () в рабочем процессе решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...