Python выбор в упорядоченном массиве, выбирая значение один за другим - PullRequest
0 голосов
/ 25 марта 2020

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

Python должен сделать выбор из списка данных в текстовом файле, но в упорядоченной форме. Скажем, он выберет первое значение при появлении запроса, затем второе значение и т. Д., Пока список не будет исчерпан.

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

              import random
              with open ("questions.txt","r") as f:
              question = f.readlines()
              post = (random.choice(question).strip())
              print (post)

Приведенный выше код делает это только случайным образом, а не то, что я хочу, я хочу, чтобы он был упорядочен и остановился, когда список закончен.

1 Ответ

1 голос
/ 25 марта 2020
with open ("questions.txt","r") as f:
    question = f.readlines()
for each in question:
    print(each.strip())

или, если вы хотите иметь больше контроля, вы можете использовать next на Итератор (и обработать исключение конца итерации):

with open ("questions.txt","r") as f:
    questions = iter(f.readlines())

while True:
    try:
        question = next(questions)
    except StopIteration:
        # no more questions
    else:
        # handle `question`
...