Какой код для предотвращения повторения элементов в случайном списке MIT App Inventor
Я пытаюсь выбрать случайный элемент из списка, но после нескольких нажатий кнопок я получаю повторяющиеся элементы, и иногда один и тот же элемент появляется два или три раза подряд. Какой код я могу использовать, чтобы остановить повторение элементов в списке, если не был пройден полный список?
Вот мой код: Случайный элемент в списке
2 ответа
Как выбрать случайный элемент из списка, не выбирая дубликаты?
В этом примере я использую random integer
блок вместо pick a random item
блок. Выбранный элемент будет удален из списка после его отображения.
Вы можете использовать алгоритм случайного перемешивания, чтобы сначала отсортировать свой список по некоторому случайному ключу, а затем выполнить итерацию по отсортированному списку - все элементы будут псевдослучайными. Вики-статья с более подробной информацией: https://en.wikipedia.org/wiki/Fisher–Yates_shuffle