Wie generiert man einen negativen Zufallswert in Python?

8

Ich fange an, Python zu lernen, ich habe versucht, zufällige Werte zu erzeugen, indem ich eine negative und positive Zahl übergebe. Sagen wir -1 , 1 .

Wie soll ich das in Python machen?

    
user1393251 14.05.2012, 08:04
quelle

5 Antworten

24

Verwenden Sie random.uniform(a, b)

%Vor%     
San4ez 14.05.2012 08:08
quelle
5
%Vor%

EDIT: @ San4ez random.uniform(-1, 1) ist der richtige Weg. Keine Notwendigkeit, das Rad neu zu erfinden ...

Wie auch immer, random.uniform() ist wie folgt codiert:

%Vor%     
eumiro 14.05.2012 08:06
quelle
2

Wenn Sie eine Ganzzahl in einem angegebenen Bereich möchten:

%Vor%

es verwendet die gleiche Konvention wie range , also ist die obere Grenze nicht enthalten.

random.uniform macht etwas Ähnliches, wenn Sie Float-Werte benötigen, aber es ist nicht immer klar , wenn Sie Obergrenze ist enthalten oder nicht

    
mata 14.05.2012 08:09
quelle
1

Die meisten Sprachen haben eine Funktion, die eine Zufallszahl im Bereich [0, 1] zurückgibt, die Sie dann an den von Ihnen benötigten Bereich anpassen können. In Python ist die Funktion random.random . Für deinen Bereich von [-1, 1] kannst du das tun:

%Vor%

Durch Verdoppelung der Zahl erhalten wir einen Bereich von [0, 2], und durch Subtraktion von eins erhalten wir [-1, 1].

    
BluePeppers 14.05.2012 08:08
quelle
1

Sie können auch so etwas tun

%Vor%     
MayTheSchwartzBeWithYou 17.12.2013 22:25
quelle

Tags und Links