Probleme avec Random.choice dans une liste avec éléments identiques
Bonjour à tous (et meilleurs vœux 2x20),
Dans le cadre d'un exercice, je faire une petite simulation d'une salle d'attente constituée d'une rangée de n sièges tous identiques. Un siège "0" signifie qu'il est libre, un siège "1" signifie qu'il est occupé. La rangée de sièges est définie par une liste de n éléments 0 et 1.
Parmi les tâches que je dois programmer , il est en une qui doit simuler le choix au hasard d'un siège et le tester pour savoir s'il est libre ou pas pour pouvoir l'occuper. Pour cela j'utilise l'instruction random.choice(Rangee) mais je m'aperçoit que dés au moins deux éléments de la liste sont identique, la choix "aléatoire" ne se fait plus … le même siège est toujours choisi.
Pour illustrer cette anomalie:
Code:
1 2 3 4 5 6 7
| import random
Rangee=range(0,6)
print Rangee
for i in range(0,10):
a=random.choice(Rangee)
print a
print Rangee.index(a) |
Là OK, j'ai bien un tirage au hasard. Mais dés que la liste présente deux éléments identiques ou plus , par exemple:
Code:
1 2 3 4 5 6 7
| import random
Rangee=[0, 1, 0, 1, 0, 0]
print Rangee
for i in range(0,10):
a=random.choice(Rangee)
print a
print Rangee.index(a) |
Là NON OK: seuls les deux premiers sièges de la liste sont choisis (cela est vu en affichant le rang du siège choisi).
Pourriez vous m'éclairer sur cette anomalie (si cela en est une !) et comment devrais-je modifier l'instruction pour que le choix aléatoire se fasse sur la liste entière.
Merci d'avance.
Probleme avec Random.choice dans une liste avec éléments identiques
Bonjour,
Notée la consigne quant au code à insérer entre balises.
J'ai bien compris l'image du dé utilisée pour expliquer le calcul des probabilités.
Dans mon cas de figure les sièges sont symbolisés par des 0 et des 1 que je veux considérer comme tous indépendants. La liste pouvant être de taille variable n , qui sera définie par l'utilisateur. Mon problème est donc: comme gérer tous les éléments de la liste de manière indépendante même s'ils ont des états (libres/occupés) identiques
Merci
christian