Если вы хотите, чтобы каждое число было уникальным среди всех остальных, вы не хотите, чтобы действительно случайное число каждый раз (на самом деле очень маловероятно, чтобы случайные числа в небольшом наборе были уникальными). Я бы сделал это так:
numbers = list(range(1, 12))
random.shuffle(numbers)
for random_number in numbers[:9]:
print(random_number)
По сути, это все равно что взять колоду карт, перетасовать ее, а затем раздать первые девять карт. Вы получите девять «случайных» карт, но они никогда не будут повторяться, так как они приходят из одной колоды, и вы не переставляете между сделками (следовательно, они не являются действительно случайными, поэтому подсчет карт - вещь ).