Co to jest generator liczb losowych w Pythonie i jak go używać?



Dowiedz się, jakie są generatory liczb losowych w Pythonie wraz z różnymi wbudowanymi funkcjami do generowania liczb całkowitych i liczb zmiennoprzecinkowych.

Tworząc oprogramowanie, nasze programy wymagają generalnie różnych elementów. Jest to najbardziej powszechne w zastosowaniach, takich jak gry, generowanie haseł jednorazowych, hazard itp. sprawia, że ​​zadanie generowania tych wartości jest łatwe dzięki wbudowanej funkcji . W tym artykule o generatorach liczb losowych w Pythonie dowiesz się, jak generować liczby za pomocą różnych wbudowanych funkcji.





Zanim przejdziemy dalej, spójrzmy na tematy omówione w tym samouczku:

Więc zacznijmy. :)



Co to jest generator liczb losowych w Pythonie?

Generatory to funkcje, które generują elementy, gdy są wywoływane. Generator liczb losowych w Pythonie to wbudowane funkcje, które pomagają generować liczby w razie potrzeby. Funkcje te są osadzone w losowym module Pyton .

marionetka vs szef kuchni vs doker

Spójrz na poniższą tabelę, która zawiera kilka ważnych funkcji generatora liczb losowych wraz z ich opisem obecnym w module losowym:



Funkcjonować

Opis

nasionko()

Wytworzone wartości będą deterministyczne, co oznacza, że ​​gdy liczba początkowa jest taka sama, zostanie wygenerowana ta sama sekwencja wartości

randrange ()

Może zwrócić losowe wartości między określonym limitem a interwałem

randki ()

Zwraca losową liczbę całkowitą z przedziału od podanego limitu

wybór()

Zwraca liczbę losową z sekwencji

człapać()

Tasuje daną sekwencję

próba()

Zwraca losowo wybrane elementy z sekwencji

mundur()

Zwraca wartości zmiennoprzecinkowe z podanego zakresu

Przyjrzyjmy się teraz głębiej każdemu z nich.

Generowanie liczb całkowitych:

Losowe liczby całkowite można generować za pomocą funkcji, takich jak randrange () i randint ().

Przyjrzyjmy się najpierw randint ().

randki ():

Ta funkcja generuje liczby całkowite między podanym limitem. Przyjmuje dwa parametry, z których pierwszy określa dolną granicę, a drugi określa górną granicę. randki (a, b) zaczyna generować wartości od a do b takie, że:

do<= x <= b (includes a and b)

PRZYKŁAD:

import random random.randint (2,9)

WYNIK: 5

Powyższy kod może generować liczby od 2 do 9 łącznie z limitami. Jeśli chcesz wygenerować kilka wartości z tego zakresu, możesz skorzystać z rozszerzenia dla następująco:

PRZYKŁAD:

importuj losowo dla x w zakresie (2): print (random.randint (2,9))

WYNIK:

2
6

W przypadku, gdy chcesz generować liczby w interwałach, możesz użyć funkcji randrange ().

randrange ():

Funkcja randrange (), jak wspomniano wcześniej, umożliwia użytkownikowi generowanie wartości poprzez przekraczanie liczby interwałów.

PRZYKŁAD:

importuj losowo dla x w zakresie (5): print (random.randrange (2,60,2))

WYNIK:

3. 4
28
14
8
26

Jak widać, wszystkie wygenerowane tutaj liczby są parzystymi liczbami od 2 do 6.

rzutowanie typów danych w java

Możesz również generować wartości zmiennoprzecinkowe za pomocą wbudowanych funkcji modułu losowego.

Generowanie wartości zmiennoprzecinkowych:

Aby wygenerować liczby zmiennoprzecinkowe, możesz skorzystać z funkcji random () i uniform.

losowy():

Ta funkcja generuje wartości zmiennoprzecinkowe od 0,0 do 1,0 i dlatego nie przyjmuje żadnych parametrów. Należy pamiętać, że górna granica jest wykluczona. Zatem maksymalna wartość wyniesie 9,999.

PRZYKŁAD:

import random for x in range (5): print (random.random ())

WYNIK:

0.18156025373128404
0.19729969175918416
0.6998756928129068
0,16706232338156568
0,059292088577491575

mundur():

W przeciwieństwie do funkcji random (), ta funkcja przyjmuje dwa parametry, które określają odpowiednio dolną i górną granicę.

PRZYKŁAD:

for x in range (5): print (random.uniform (6))

WYNIK:

2.3135197730563335
5.752723932545697
4.561236813447408
3.8459675873377863
4.8252929712263235

Python pozwala również na generowanie losowych wartości z podanej sekwencji.

Generowanie wartości z podanej sekwencji:

Można to zrobić za pomocą funkcji choice () i sample ().

wybór():

Ta funkcja w zasadzie przyjmuje sekwencję jako parametr i zwraca z niej losowe wartości.

PRZYKŁAD:

dla x w zakresie (3): print (random.choice ([1,2,3,4,5,6,7,8,9]))

WYNIK:

3
jeden
4

Jak widać, w powyższym wyjściu za pomocą pętli for zwracane są trzy wartości, a wszystkie wartości są pobierane losowo z podanej listy.

próba():

Funkcja sample () pobiera losową sekwencję z podanej sekwencji i zwraca ją jako wynik. Przyjmuje dwa parametry, gdzie pierwszy parametr jest sekwencją, a drugi jest wartością całkowitą określającą, ile wartości ma zostać zwróconych w wyniku.

PRZYKŁAD:

print (random.sample ([1,2,3,4,5,6,7,8,9], 4))

WYNIK: [1, 4, 5, 9]

Jak widać, lista wyników utworzona w powyższym przykładzie składa się z czterech losowo wybranych wartości z podanej sekwencji.

Inne funkcje:

nasionko():

Funkcja seed () przyjmuje liczbę jako parametr zwany ziarnem i generuje te same liczby losowe za każdym razem, gdy wywołujesz tę funkcję z tą liczbą.

PRZYKŁAD:

random.seed (2) print (random.random (), random.random (), random.random (), end = 'nn') random.seed (3) print (random.random (), random.random ( ), random.random (), end = 'nn') random.seed (2) print (random.random (), random.random (), random.random ())

WYNIK:

0,9560342718892494 0,9478274870593494 0,05655136772680869 0,23796462709189137 0,5442292252959519 0,36995516654807925 0,9560342718892494 0,9478274870593494 0,05655136772680869

W powyższym przykładzie wynik dla seed (2) jest taki sam za każdym razem, gdy jest wywoływany. Ta funkcja jest bardzo przydatna w eksperymentach, w których trzeba przekazać te same liczby losowe do różnych przypadków testowych.

człapać():

Ta funkcja służy do losowego tasowania danej sekwencji.

jak wyjść z metody w java

PRZYKŁAD:

mylist = [1,2,3,4,5,6,7,8,9] random.shuffle (mylist) print (mylist)

WYNIK: [6, 8, 2, 4, 3, 7, 1, 5, 9]

To prowadzi nas do końca artykułu „Generator liczb losowych w Pythonie”. Mam nadzieję, że zrozumiałeś wszystkie koncepcje.

Upewnij się, że ćwiczysz jak najwięcej i cofnij swoje doświadczenie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Generator liczb losowych w Pythonie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.

Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz zarejestrować się na żywo z całodobowym wsparciem i dożywotnim dostępem.