Как исключить повторения слов 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)
→ Ссылка