Hoe krijg ik een willekeurig getal tussen een float-bereik?

randrange(start, stop)accepteert alleen integerargumenten. Dus hoe krijg ik een willekeurig getal tussen twee float-waarden?


Antwoord 1, autoriteit 100%

Gebruik willekeurig.uniform(a, b):

>>> random.uniform(1.5, 1.9)
1.8733202628557872

Antwoord 2, autoriteit 11%

als u een willekeurige float wilt genereren met N cijfers rechts van de punt, kunt u dit doen:

round(random.uniform(1,2), N)

het tweede argument is het aantal decimalen.


Antwoord 3, autoriteit 10%

random.uniform(a, b)lijkt te zijn wat u zoekt. Uit de documenten:

Retourneer een willekeurig getal met drijvende komma N zodat a <= N <= b voor a <= b en b <= N <= a voor b < a.

Zie hier.


Antwoord 4

Meestal gebruikt u:

import random
random.uniform(a, b) # range [a, b) or [a, b] depending on floating-point rounding

Python biedt andere distributiesals je dat nodig hebt.

Als je numpyal hebt geïmporteerd, kun je het equivalent ervan gebruiken:

import numpy as np
np.random.uniform(a, b) # range [a, b)

Nogmaals, als je een andere distributie nodig hebt, biedt numpydezelfde distributies als python, evenals veel extra.


Antwoord 5

Vanuit mijn ervaring met python kan ik alleen maar zeggen dat de willekeurige functie kan helpen bij het genereren van willekeurige float-getallen. Neem het onderstaande voorbeeld;

import random
# Random float number between range 15.5 to 80.5
print(random.uniform(15.5, 80.5))
# between 10 and 100
print(random.uniform(10, 100))
The random.uniform() function returns a random floating-point number between a given range in Python

De twee sets code genereren willekeurige float-nummers. Je kunt ermee experimenteren om je te geven wat je wilt.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

9 + 6 =

Other episodes