Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1382 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Boucle vérification d'une valeur dans une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Boucle vérification d'une valeur dans une variable

n°2184395
blackdeer
Posté le 05-04-2013 à 22:29:55  profilanswer
 

Bonjour à tous,
 
Etant un véritable néophyte en matière de programmation sous Python, je me tourne vers vous afin de trouver de l'aide pour résoudre un problème qui me bloque dans l'avancée de mon programme.
 
Description brève de l'ensemble : Je souhaite réaliser un QCM, chaque question ayant un numéro, j'appelle un numéro au hasard (fonction random) puis affiche les questions correspondantes. Le problème était donc de trouver un moyen pour que le même numéro ne soit pas appelé deux fois dans la même partie.
J'ai donc créé une liste dévolue à la réception de ces valeurs (via la fonction append, qui ajoute après chaque question et avant le tirage de la question suivante, le numéro correspondant). J'obtiens donc une liste qui contient les valeurs "interdites".
 
Problème : Je ne parviens pas à créer une boucle fonctionnelle qui me permettrait de vérifier que le nouveau numéro tiré n'appartienne pas à la liste. Il me faut trouver un moyen de vérifier. Si le numéro appartient pas à la liste, alors il faudra revenir à la fonction random et en tirer un nouveau. Si en revanche il n'en fait pas encore partie, il faudra que le programme se poursuive.
 
C'est donc sur ce point que j'ai besoin d'aide. Si quelqu'un entrevoit une solution, il sera bien aimable de m'éclairer..
 
Merci de m'avoir lu  :)

mood
Publicité
Posté le 05-04-2013 à 22:29:55  profilanswer
 

n°2184397
Farian
Posté le 05-04-2013 à 22:40:24  profilanswer
 

Bonsoir ! Vous pouvez aussi travailler dans l'autre sens, avec une liste contenant les numéros de questions autorisés.
 
A chaque étape, vous tirez un nombre au sort entre 1 et N, N étant le nombre de questions restantes, la question à poser est la N-ième valeur de la liste, que vous enlevez ensuite, et vous recommencez, avec un nombre aléatoire entre 1 et N-1, jusqu'à avoir le bon nombre de questions à poser.
 
Bonne continuation !

n°2184407
blackdeer
Posté le 05-04-2013 à 23:29:08  profilanswer
 

Merci pour la réponse ! Serait-ce que la boucle de vérification serait plus complexe ?

n°2184410
suizokukan
Posté le 06-04-2013 à 00:32:25  profilanswer
 

LA bonne manière de faire :  

Code :
  1. random.sample(range(100), 10)


pour tirer 10 nombres sous doublon compris entre 0 et 99.
 
source : http://stackoverflow.com/questions [...] om-numbers


---------------
rule #1 : trust the python
n°2184411
suizokukan
Posté le 06-04-2013 à 00:33:20  profilanswer
 

LA bonne manière de faire :  

Code :
  1. random.sample(range(100), 10)


pour tirer 10 nombres sans doublon compris entre 0 et 99.
 
source : http://stackoverflow.com/questions [...] om-numbers


---------------
rule #1 : trust the python
n°2184422
blackdeer
Posté le 06-04-2013 à 07:49:10  profilanswer
 

Oui mais il faudrait que je tire les numéros un par un :/

n°2184429
fire in th​e hole !!!
ex-CM marlboro
Posté le 06-04-2013 à 08:26:17  profilanswer
 

cette fonction te sort directement une liste avec 10 éléments aléatoires uniques, c'est bien ce que tu voulais :??:

n°2184431
blackdeer
Posté le 06-04-2013 à 08:43:09  profilanswer
 

Ah oui maintenant que j'y réfléchis je comprends le mécanisme. Merci beaucoup, je vais essayer de mettre çe en place, je reviens vers vous en cas de difficultés

n°2184716
masklinn
í dag viðrar vel til loftárása
Posté le 08-04-2013 à 12:06:40  profilanswer
 

suizokukan a écrit :

LA bonne manière de faire :

Code :
  1. random.sample(range(100), 10)


pour tirer 10 nombres sous doublon compris entre 0 et 99.

 

source : http://stackoverflow.com/questions [...] om-numbers


Alternativement, tu peux faire ça directement sur ta liste de question sans passer par des numéros, ça évite une indirection et d'avoir à garder ton upperbound synchronisé avec le nombre de questions.


Message édité par masklinn le 08-04-2013 à 12:06:47

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Boucle vérification d'une valeur dans une variable

 

Sujets relatifs
[Powershell] Valeur ComboBoxvaleur max d'une selection aléatoire
Accéder à une valeur particulière au sein d'un arbre (array)verification code erosion
boucle for imbriqué urgentinnertHML et variable de session PHP
C++ - Cplex problem de variable dans une boucle for & randomProgramme VBA trouvant une valeur répondant à des conditions ET/OU
Excel - Liaison en fonction de la valeur d'une cellule 
Plus de sujets relatifs à : Boucle vérification d'une valeur dans une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR