Comment générer négative valeur aléatoire en python
Je commence à apprendre le langage python, j'ai essayé de générer des valeurs aléatoires en passant par le négatif et le positif numéro. Disons -1
, 1
.
Comment dois-je le faire en python?
OriginalL'auteur user1393251 | 2012-05-14
Vous devez vous connecter pour publier un commentaire.
Utilisation
aléatoire.uniforme(a, b)
OriginalL'auteur San4ez
EDIT: @San4ez de
random.uniform(-1, 1)
est la bonne manière. Pas besoin de réinventer la roue...De toute façon,
random.uniform()
code est le suivant:def rand(): return 4 # Generated by fair dice roll. Guaranteed to be random.
Merci beaucoup.Mais cann-je pas le faire de cette façon.Où je veux passer la valeur d'un argument lors de l'exécution du script. .#!/usr/bin/env python import sys , random r = sys.argv[1] y = sys.argv[2] imprimer aléatoire.gamme(y,r)
vous pouvez le faire de cette façon (mon
r
méthode est appelée de la même façon correcterandom.uniform
est), juste que je suis en train de réinventer la roue ici... Prendre San4ez de réponse.OriginalL'auteur eumiro
si vous voulez entier dans une plage spécifiée:
il utilise la même convention que
range
, de sorte que la limite supérieure n'est pas inclus.random.uniform
fait la même chose si vous avez besoin de valeurs float, mais c'est pas toujours évident si la limite supérieure est inclus ou pasOriginalL'auteur mata
La plupart des langages ont une fonction qui retourne un nombre aléatoire dans l'intervalle [0, 1], que vous pouvez ensuite manipuler à la suite de la gamme dont vous avez besoin. En python, la fonction est
random.random
. Donc, pour votre gamme de [-1, 1], vous pouvez faire ceci:En doublant le nombre, on obtient une plage de [0, 2], et par soustraction de l'une d'elle, nous obtenons [-1, 1].
OriginalL'auteur BluePeppers
Vous pouvez aussi faire quelque chose comme ceci
OriginalL'auteur MayTheSchwartzBeWithYou
Je trouve que cela fonctionne sur une compréhension de liste:
ou
OriginalL'auteur Dylan Maulucci