@jecer_inside

Как сделать выдачу случайного текста без повторений?

есть файл с вопросами
при нажатии на кнопку, выдается один вопрос из файла, при повторном нажатии другой вопрос и т.д.
но при нескольких нажатиях на кнопку, вопрос может повториться, как этого избежать?
удалять текст из файла не подходит и выдавать с самого начала до конца тоже (ибо каждый новый запуск программы будет начинаться с самого первого вопроса)

использую random

answer = random.choice(questions)
    if m.text.strip() == 'Вопрос':
        answer = random.choice(questions)
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@Kvason
Веб-разработчик
Спарси все это в текстовую переменную, раздели с помощью .split() на список и когда достаешь рандомный вопрос делаешь по типу
q = random.choice(list)
list.remove(q)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
каждый новый запуск

тебе нужно сохранять информацию о вопросах, которые уже заданы так или иначе

рекомендую вместо сохранения заданных вопросов, однократно при первом запуске создать список вопросов (номера) и перемешать его и уже его сохранять, выбирая и удаляя из него каждый раз первый элемент

в питоне у random есть метод shuffle
random.shuffle(mas)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы