Как исключить повторения слов Python random
import random
words = ['hi', 'how', 'are', 'you']
random_index0 = random.randint(0,len(words)-1)
random_index1 = random.randint(0,len(words)-1)
random_index2 = random.randint(0,len(words)-1)
random_index3 = random.randint(0,len(words)-1)
fisrt_word=words[random_index0]
second_word=words[random_index1]
third_word=words[random_index2]
quarters_word=words[random_index3]
print(fisrt_word,second_word,third_word,quarters_word)
Ответы (2 шт):
Автор решения: Михаил Ребров
→ Ссылка
Вы как то переусложнили себе задачу.
В random есть метод shuffle() который перемешивает список случайным образом.
Пользуйтесь им
import random
words = ['hi', 'how', 'are', 'you']
random.shuffle(words)
fisrt_word = words[0]
second_word = words[1]
third_word = words[2]
quarters_word = words[3]
print(fisrt_word,second_word,third_word,quarters_word)
При этом присваивание переменным тут может оказаться лишним.
можно и без них
import random
words = ['hi', 'how', 'are', 'you']
random.shuffle(words)
print(words[0], words[1], words[2], words[3])
Автор решения: SergFSM
→ Ссылка
почитайте в документации про random, он разные штуки умеет, например, выдавать нужное количество случайно выбранных из заданного списка элементов без повтора:
from random import sample
fisrt_word, second_word, third_word, fourth_word = sample(words,4)