lundi 5 février 2018

How to generate unique random numbers (that don't repeat)?

I'm trying to write a code that randomly chooses numbers and adds them to the list 'random_numbers', but if a random number was already generated, the code detects that and replaces the number with another, until every number is different.

import random

random_numbers = []

for x in range(11):

This part generates a random integer and appends it to the list 'random_numbers':

    random_numbers.append('[q' + str(random.randint(1, 11)) + ']')

This part is supposed to iterate over the list and check if the random number generated was already generated, and replace it:

    for item in range(len(random_numbers)):
        if random_numbers[x] == random_numbers[item]:
            random_numbers[x] = '[q' + str(random.randint(1, num_of_qs_in_file)) + ']'

print(random_numbers)

The output varies, but almost always the list has the same integer more than once. Can anybody help?




Aucun commentaire:

Enregistrer un commentaire