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

Как можно изменить код так, чтобы вопросы из списка задавались по порядку, а не случайным образом, либо чтобы каждый вопрос был уникальным и не повторялся?
  • 27 июня 2024 г. 12:01
Ответы на вопрос 2
Для того чтобы задавать вопросы из списка по порядку без повторений, можно создать переменную, которая будет хранить индекс текущего вопроса, и увеличивать его на 1 после каждого заданного вопроса. 

Пример кода на Python:

```python
questions = ['Как дела?', 'Что нового?', 'Как погода?', 'Чем занимаетесь?']
index = 0

def ask_question():
    global index
    question = questions[index]
    print(question)
    index = (index + 1) % len(questions)

for _ in range(len(questions)):
    ask_question()
```

В этом коде список вопросов задается в переменной `questions`, затем создается функция `ask_question`, которая выводит текущий вопрос и увеличивает индекс на 1. В цикле `for` вызывается функция `ask_question` столько раз, сколько в списке вопросов. Таким образом, каждый вопрос будет задан по порядку без повторений.
void questionGenerate()
    {
        if (qList.Count > 0)
        {
            randQ = Random.Range(0, qList.Count); //если не нужен рандом это удалить
            crntQ = qList[randQ] as QuestionList;
            qText.text = crntQ.question;
            List<string> answers = new List<string>(crntQ.answers);
            for (int i = 0; i < crntQ.answers.Length; i++)
            {
                int rand = Random.Range(0, answers.Count);
                answersText[i].text = answers[rand];
                answers.RemoveAt(rand);
                                                         
            }
qList.RemoveAt(qList[randQ]);
                                              
        }
        else
        {
            Debug.Log("Вы прошли игру");
        }
    }


смысл в том что надо удалить уже заданный вопрос из листа где лежат все вопросы
Похожие вопросы