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:
- Co to jest generator liczb losowych w Pythonie?
- Generowanie liczb całkowitych
- Generowanie liczb zmiennoprzecinkowych
- Zwracanie wartości z sekwencji
- Inne funkcje
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.