En python, est-il de toute façon à avoir une variable un nombre aléatoire différent à chaque fois?
Fondamentalement, j'ai ceci:
import random
variable1 = random.randint(13, 19)
Et au fond, ce qui n'est d'attribuer variable1 un nombre aléatoire compris entre 13 et 19. Grand.
Mais, ce que je veux faire est d'attribuer un nombre aléatoire différent entre 13 et 19 de cette variable à chaque fois qu'il est appelé. Est-il de toute façon je peux le faire?
Si je suis pas assez clair, voici un exemple:
import random
variable1 = random.randint(13, 19)
print(variable1)
print(variable1)
print(variable1)
Et la sortie je veux ressemblerait à quelque chose comme ceci:
./script.py
15
19
13
Donc oui, de toute façon je pourrais le faire en python? (Plus précisément python3. mais la réponse serait probablement similaire à un python2 réponse)
- À la question les gars. Il veut pas répéter les numéros.
Vous devez vous connecter pour publier un commentaire.
C'est proche de ce que vous voulez
Peut-être une question bête, mais pourquoi ne pas simplement utiliser une fonction au lieu d'une variable?
Ou peut-être plus en ligne avec votre variable paradigme, pourquoi ne pas utiliser une méthode sur un objet. L'objet peut alors être passé comme une variable, et la méthode retourne le nouveau nombre aléatoire.
Dans cet exemple précis, il est un peu stupide façon de faire.
print
implicitement convertit son argument dans une chaîne de caractères. Vous pouvez surcharger cette fonctionnalité:__int__
et vous êtes fixés 😀Vous mentionnez le mot "appelé", et dans ce sens, je pense que vous avez répondu à votre propre question. C'est exactement le travail d'une fonction ou d'une méthode.
Une variable est juste une référence à un objet. Vous pouvez stocker un objet dans votre variable qui remplace la chaîne de la méthode pour générer un nombre aléatoire, mais c'est encore une méthode.
En fin de compte ce que votre demande serait d'affaiblir ce qui se passe vraiment sous le capot, et comme un résultat créerait moins maintenable code, à mon humble avis.
Lorsque vous ne
variable1 = random.randint(13, 19)
,variable1
contient l'immuable objet "numéro 13" (ou un autre nombre). Par définition, il ne peut pas changer sans devenir un autre objet. Au lieu de cela vous pouvez remplir votre variable avec un susmentionnés mutable objet lui permettant de modifier son "nombre aléatoire". Ou vous pouvez simplement appeler directement une fonction.Il s'agit tout simplement d'une question de simplicité.
utilisation:
Maintenant, vous pouvez faire une boucle par le biais de ce dans un ordre aléatoire
Comment sur l'utilisation de
random.sample
pour votre tâche? IlChooses k unique random elements from a population sequence
.Bien sûr, j'ai donné ce pour 3 variables, vous pouvez l'utiliser pour n variables.
Pourquoi ne pas ignorer la variable tout à fait? Vous pouvez utiliser la fonction inline trop:
print(random.randint(13, 19) + 1)
.Essayer cela et voir si elle répond à vos besoins 😉
Je ne vois pas d'autres possibilités, alors bonne chance!
Je suis peut-être pas comprendre correctement à la question, mais ne pourriez-vous faire: