import random class Unique_Key(object): def __init__(self): self.uni_k =random.randint(1, 1000000) unique_key_obj1=Unique_Key() print(f"First Record {unique_key_obj1.uni_k}") unique_key_obj=Unique_Key() print(f"Second Record {unique_key_obj.uni_k}") Can someone please help me with how to make the value of the unique_key_obj1 object to be the same as that of the unique_key_obj object? Thanks!
3 Réponses :
Utilisez ensemencer le générateur aléatoire.
import random class Unique_Key(object): def __init__(self): self.uni_k =random.randint(1, 1000000) mySeed = random.randint(1, 1000000) random.seed(mySeed) unique_key_obj1=Unique_Key() print(f"First Record {unique_key_obj1.uni_k}") random.seed(mySeed) unique_key_obj=Unique_Key() print(f"Second Record {unique_key_obj.uni_k}")
Merci beaucoup, Remplé. Cela a fonctionné mais je ne veux pas que les deux valeurs restent constantes, je veux toujours qu'ils ont des fonctionnalités aléatoires mais la même valeur.
J'ai édité ma réponse en conséquence. Vous pouvez simplement faire des semences un nouveau nombre aléatoire @ agbési-innocent
Vous devez définir cette variable sous forme de variable de classe em> plutôt que la variable d'instance em>. Comme: Lorsque vous définissez Les variables de classe sont généralement définies en dehors de toutes les méthodes, placées juste en dessous de l'en-tête de la classe et avant la méthode du constructeur et d'autres méthodes. P> p> self.some_variable code> à une valeur aléatoire, il créera une variable spécifique à cette instance uniquement et non partagée entre toutes les instances d'un objet. p>
Merci beaucoup, Nicolas Gervais. Cela a fonctionné comme je le veux et merci pour les frais de scolarité supplémentaires!
Vous pouvez faire passer sans régler la graine code> code>. Nous pouvons faire le point en enregistrant l'état aléatoire précédent et en enregistrant l'appel à l'appel aléatoire suivant. Cela garantira que générer les mêmes numéros.
Cela a été pris de Documents Python. P>
Renvoie un objet capturant l'état interne actuel de la
Générateur. Cet objet peut être transmis à Statetate () pour restaurer le
état. p>
blockQuote> En savoir plus sur le module aléatoire dans Python Docs aléatoire P> aléatoire.getstate () code> p> p>
print x.uni_k == y.uni_k
True