Какой код для предотвращения повторения элементов в случайном списке MIT App Inventor

Я пытаюсь выбрать случайный элемент из списка, но после нескольких нажатий кнопок я получаю повторяющиеся элементы, и иногда один и тот же элемент появляется два или три раза подряд. Какой код я могу использовать, чтобы остановить повторение элементов в списке, если не был пройден полный список?

Вот мой код: Случайный элемент в списке

2 ответа

Как выбрать случайный элемент из списка, не выбирая дубликаты?

В этом примере я использую random integer блок вместо pick a random item блок. Выбранный элемент будет удален из списка после его отображения.

введите описание изображения здесь

Вы можете использовать алгоритм случайного перемешивания, чтобы сначала отсортировать свой список по некоторому случайному ключу, а затем выполнить итерацию по отсортированному списку - все элементы будут псевдослучайными. Вики-статья с более подробной информацией: https://en.wikipedia.org/wiki/Fisher–Yates_shuffle

Другие вопросы по тегам