Donc, en gros, j'essaie d'obtenir un morceau de code pour choisir au hasard entre deux valeurs -40 et 40.
Pour ce faire, je pensais utiliser de bonnes vieilles mathématiques comme -
random_num = ((-1) ^ valeur) * 40, où valeur = {1, 2}.
random_num, comme son nom l'indique, doit être un nombre aléatoire.
Avez-vous de l'aide?
J'utilise python, une solution utilisant des bibliothèques est acceptable.
4 Réponses :
C'est simple en Python:
Python 3.7.3 (default, Mar 27 2019, 13:36:35) [GCC 9.0.1 20190227 (Red Hat 9.0.1-0.8)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from random import choice >>> choice((-40, 40)) 40 >>>
En supposant que L est une liste de valeurs parmi lesquelles vous voulez choisir, alors random.choice (L) fera le travail.
Dans votre cas:
import random L = [-40, 40] print(random.choice(L))
Vous pouvez utiliser la fonction choix en python pour y parvenir. Si vous voulez que les valeurs choisies soient seulement -40 ou 40, le deuxième argument est la probabilité / poids.
from random import choices choices([-40,40], [0.5,0.5])
OP veut soit -40 ou 40, pas une valeur entre -40 et 40.
@Guybrush a mis à jour ma réponse. Cela devrait être bien
Je ne pense pas que choix devrait être préféré à choix ici, car le premier renvoie une liste d'éléments sélectionnés (même s'il n'y a qu'un seul élément). Cela signifie que OP devra faire x = choix (...) [0] où x = choix (...) est suffisant, plus simple et plus lisible; -)
D'accord @Guybrush!
Si vous voulez un nombre entier aléatoire entre -40 et +40, alors
import random random.choice([-40, 40])
https://docs.python.org/3.1/library/random.html#random.randint
Si vous voulez choisir l'un ou l'autre -40 ou +40, puis
import random random.randint(-40, 40)
https://docs.python.org/3/library/random.html#random.choice
Si vous préférez vraiment aller avec votre implémentation en choisissant l'un ou l'autre 1 ou 2, comme dans votre question, puis insérez ces valeurs dans la méthode random.choice.
A fourni les solutions ci-dessus, car je pense qu'il y a une certaine ambiguïté dans la question.
Donc
np.random.randint (-40,40, taille)?import random random.randint (-40,40)avez-vous déjà essayé cela?Je vais essayer thx (désolé si la réponse est facile pour vous mais je ne suis pas du tout familier avec python)
Les «réponses» de @yatu et de Justice_Lords ne sont pas correctes. Op veut avoir soit -40 ou 40, pas un nombre aléatoire entre -40 et 40.
Votre question est-elle «comment obtenir une valeur aléatoire entre -40 et 40», «comment obtenir une valeur aléatoire de -40 ou 40» ou «comment obtenir une valeur aléatoire de 1 ou 2»?
Vous voulez des valeurs dans intervalle -40 à 40 ou choisir -40 ou 40?
@Guybrush
"choisir entre les valeurs -40 et 40"......@yatu me semble ambigu
puis juste
np.random.choice ([- 40,40])Pourquoi tant de programmeurs ajoutent-ils la surcharge NumPy alors que la bibliothèque standard fournit une solution parfaite?