Was ist der Unterschied zwischen random.uniform()
und random.random()
in python für das zufällige Modul? Sie erzeugen beide Pseudozufallszahlen, random.uniform()
erzeugt Zahlen aus einer einheitlichen Verteilung und random.random()
erzeugt die nächste Zufallszahl. Was ist der Unterschied?
random.random()
gibt Ihnen eine zufällige Gleitkommazahl im Bereich [0.0, 1.0)
(also einschließlich 0.0
, aber nicht 1.0
, was auch als halboffener Bereich bekannt ist). random.uniform(a, b)
gibt dir eine zufällige Gleitkommazahl im Bereich [a, b]
, (wobei das Runden möglicherweise zu b
führt).
Die Implementierung von random.uniform()
verwendet random.random()
direkt:
random.uniform(0, 1)
ist im Grunde das gleiche wie random.random()
(als 1.0
mal Gleitkommawert, der am nächsten zu 1.0
liegt, gibt Ihnen immer noch Gleitkommawert am nächsten zu 1.0
dort besteht keine Möglichkeit eines Rundungsfehlers).
Der Unterschied liegt in den Argumenten. Es ist sehr üblich, eine Zufallszahl aus einer gleichmäßigen Verteilung im Bereich [0.0, 1.0] zu generieren, also random.random()
macht das einfach. Verwenden Sie random.uniform(a, b)
, um einen anderen Bereich anzugeben.
In random.random () liegt die Ausgabe zwischen 0 & amp; 1, und es dauert keine Eingabeparameter
Während random.uniform () Parameter verwendet, können Sie den Bereich der Zufallszahl angeben.
Zum Beispiel
import random as ra
print ra.random()
print ra.uniform(5,10)
AUSGABE: -
0.672485369423
7.9237539416
Laut der Dokumentation zu random.uniform
:
Gebe eine zufällige Gleitkommazahl N zurück, so dass ein & lt; = N & lt; = b für a & lt; = b und b & lt; = N & lt; = a für b & lt; a.
während random.random
:
Gibt die nächste zufällige Gleitkommazahl im Bereich [0.0, 1.0] zurück.
i.e. Mit random.uniform
geben Sie einen Bereich an, in dem Sie Pseudozufallszahlen aus z. zwischen 3 und 10. Mit random.random
erhalten Sie eine Zahl zwischen 0 und 1.