0
votes

Comment générer un nombre aléatoire, mettez-les dans le dictionnaire, puis redonner le nombre de répétitions

J'ai la tâche de créer une fonction qui calcule un nombre aléatoire, qui est ensuite ajouté dans un dictionnaire jusqu'à ce qu'un tel numéro soit généré au hasard. En conséquence, le nombre de répétitions doit être imprimé dans la console.

J'ai déjà essayé ce qui suit mais je n'ai pas de résultats. Je suis un débutant python alors je me sens aussi un peu perdu. P>

repetition(2, 5255)
([1244, 2415, ... ], 122)


2 commentaires

C'est une bonne pratique pour donner à vos variables Nom plus significatif que des lettres simples telles que A , B , xcode> etc.


Votre phrase «nombre de répétitions» semble être en désaccord avec ce que fait le code. Vous voulez que le code s'arrête dès que vous voyez une répétition? Dans ce cas, vous demandez le «nombre d'étapes jusqu'à la répétition» ou quelque chose selon ces lignes.


3 Réponses :


0
votes
import random
def repetition(a, b):
   x = random.randint(a ,b)
   y = None
   values = [x]
   i = 0
   while x != y:
      y = random.randint(a,b)
      values.append(y)
      i += 1
return((values, i))
This should return what you expect, I did not use any dictionary though.

0 commentaires

0
votes

Cela pourrait aider!

def repetition(a, b):
    d = {}
    while 1:
        x = random.randint(a, b)
        if x in d:
            return list(d.values()), len(d)
        d[x] = x


0 commentaires

0
votes

Peut-être que vous pouvez utiliser les collections. Qu'est-ce que cela est le retour du nombre de numéro dans la liste. Voici un exemple de la façon dont je pouvais travailler. XXX


0 commentaires