Как вывести элементы массива рандомно без повторений?

import random

numberOfPersons = random.randint(3, 5)

massivElements = [
    "Илья",
    "Вася",
    "Макс",
    "Григорий",
    "Миша",
    "Евгений"
    ]


for i in range(numberOfPersons):
    while True:
        massivElementsRandom = random.choice(massivElements)
        if massivElements != massivElements:
            break
        print(massivElementsRandom)

Программа выводит имена массива рандомно (3, 4 или 5 имен). Проблема в том, что имена не должны совпадать при выводе. Как это реализовать?


Ответы (1 шт):

Автор решения: Xander

Используйте random.sample:

import random

numberOfPersons = random.randint(3, 5)

massivElements = [
    "Илья",
    "Вася",
    "Макс",
    "Григорий",
    "Миша",
    "Евгений"
    ]

selected = random.sample(massivElements, numberOfPersons)

for name in selected:
    print(name)

И лучше используйте общепринятый стиль именоввания в питоне: для обычных переменных нужно использовать не lowerCamelCase, а snake_case

→ Ссылка