Выбор случайного порядка вывода строк без повторений
У меня есть записанные вопросы, например:
- Почему 2+2 будет 4?
- Почему если не учиться будешь получать плохую оценку?
- Как избежать получение плохих оценок?
Мне нужно обеспечить случайный порядок их вывода, при так, чтобы при этом ни один вопрос не выводился дважды.
Ответы (2 шт):
Автор решения: augustoff7
→ Ссылка
# импортируем 'shuffle' из библиотеки 'random'
from random import shuffle
# создаем список с вопросами
questions = [
"Почему 2+2 будет 4?",
"Почему если не учиться будешь получать плохую оценку?",
"Как избежать получение плохих оценок?",
]
# перемешиваем вопросы в случайном порядке
shuffle(questions)
# проходимся по списку и выводим каждый вопрос
for question in questions:
print(question)
Автор решения: Stanislav Volodarskiy
→ Ссылка
Return a k length list of unique elements chosen from the population sequence. Used for random sampling without replacement.
Попросите у него выбрать все элементы (random.sample(questions, len(questions))):
import random
questions = [
"Почему 2+2 будет 4?",
"Почему если не учиться будешь получать плохую оценку?",
"Как избежать получение плохих оценок?",
]
print(*random.sample(questions, len(questions)), sep='\n')
$ python questions.py Почему если не учиться будешь получать плохую оценку? Почему 2+2 будет 4? Как избежать получение плохих оценок? $ python questions.py Почему 2+2 будет 4? Как избежать получение плохих оценок? Почему если не учиться будешь получать плохую оценку? $ python questions.py Почему если не учиться будешь получать плохую оценку? Как избежать получение плохих оценок? Почему 2+2 будет 4?