lundi 8 août 2016

Generate Integer Random Numbers in Python Array

I'm trying to make an array with 30 integer elements between 0 and 2 randomly chosen. When some number is chosen 10 times, i can't append it anymore. In the end, I need an array with 30 elements with 10 numbers 0, 10 numbers 1 and 10 numbers 2. Here's what i'm trying:

import random
array_size = 30
number = 3
counter = [0, 0, 0]
solution = []

for i in range(array_size):
    number = random.randrange(number) #generates numbers between 0 and 2

    while counter[number] > 10:
        number = random.randrange(number)

    counter[number] += 1
    solution.append(number)

As result, i have more than 10 elements of the same number. I believe the problem is in the random number that i put in the while is not changed even if i change it inside the loop. Someone know how to do this?

Thanks




Aucun commentaire:

Enregistrer un commentaire