Python random randrange() i randint (), aby wygenerować losową liczbę całkowitą w zakresie
w tym artykule zobaczymy, jak użyć funkcji Pythonrandom.randrange()
Irandom.randint()
do wygenerowania losowej liczby. Korzystając z funkcjirandrange()
Irandint()
modułu losowego możemy wygenerować losową liczbę całkowitą w zakresie. Na przykład, chcesz wygenerować losową liczbę całkowitą z zakresu od 0 do 9, wtedy możesz użyć tych funkcji.
cele tej lekcji. W tej lekcji dowiesz się, jak:
- Generuj losową liczbę całkowitą w zakresie za pomocą
randrange()
Irandint()
- Generuj losową liczbę całkowitą tylko o określonej długości
- Generuj losową liczbę całkowitą wielokrotność n
- Utwórz listę losowych liczb całkowitych
- Generuj bezpieczną liczbę losową integer
- utwórz losową wielowymiarową tablicę losowych liczb całkowitych
Czytaj dalej
- rozwiąż ćwiczenie generowania losowych danych w Pythonie i quiz generowania losowych danych
- , Czytaj praca z losowymi danymi w Pythonie (kompletny przewodnik)
jak używać random.randint()
składnia:
random.randint(start, stop)
Ta funkcja zwraca losową liczbę całkowitą w zakresie. Funkcja ta przyjmuje dwa parametry. Oba są obowiązkowe. Na przykład random.randint(0, 100)
zwróci dowolną losową liczbę z zakresu od 0 do 100.
randint(start, stop)
zawiera zarówno liczby start, jak i stop podczas generowania losowej liczby całkowitej. Wygeneruje losową liczbę z zakresu włącznie.
losowe.randint() przykłady generowania losowych liczb całkowitych
Wyjście:
Random integer from 0 to 9Random integer: 5Random integer from 10 to 100Random integer: 89
uwaga: nie można używać liczby zmiennoprzecinkowej wrandint()
. Spowoduje to podniesienie ValueError: non-integer arg 1
, jeśli użyjesz wartości innych niż liczba całkowita.
zapoznaj się z tym przewodnikiem, aby wygenerować losową liczbę zmiennoprzecinkową w zakresie.
jak używać random.randrange()
zobaczmy najpierw składnię
Ta funkcja zwraca losowo wybraną liczbę całkowitą z range(start, stop, step)
. Funkcja ta przyjmuje trzy parametry. Z trzech parametrów dwa parametry są opcjonalne. tj.start
Istep
są parametrami opcjonalnymi.
- argument
start
jest liczbą początkową w zakresie losowym. tj. dolna granica. Domyślną wartościąstart
jest 0, jeśli nie podano. - argument
stop
jest ostatnią liczbą w zakresie losowym. argumentstop
jest górnym limitem. -
step
jest różnicą między każdą liczbą w sekwencji. Krok jest parametrami opcjonalnymi. Domyślną wartościąstep
jest 1, jeśli nie podano.
randrange () przykłady generowania losowych liczb całkowitych w zakresie
tutaj w poniższym przykładzie próbujemy wydrukować losową int w danym zakresie. Ten przykład pokazuje wszystkie warianty funkcjirandom.randrange()
.
wyjście:
Generate random number within a given range in Python Random integer: 7Random integer: 22Random integer: 180
uwaga: nie można użyć wartości floatrandrange()
. Spowoduje to podniesienie ValueError: non-integer arg 1 for randrange()
, jeśli użyto wartości innych niż liczba całkowita.
Wygeneruj losową liczbę całkowitą o określonej długości
Co zrobić, jeśli chcesz wygenerować losową liczbę o długościn
? Na przykład, chcesz wygenerować losową liczbę o długości 4. Zobaczmy przykład, aby wygenerować losową liczbę o długości 4 używając random.randrange()
.
wyjście:
First random number of length 4 is 1931Second random number of length 4 is 5715
Uwaga: Jak widać ustawiamy start na 1000 a stop na 10000 ponieważ chcemy wygenerować losową liczbę długości 4 (od 1000 do 9999).
Wygeneruj losową liczbę całkowitą wielokrotność N
w tym przykładzie wygenerujemy losową liczbę między x I y, która jest wielokrotnością 3, Jak 3, 6, 39, 66.
import randomnum = random.randrange(3, 300, 3)print("Random number multiple of 3 is ", num)
Wyjście:
Random number multiple of 3 is 264
generowanie losowej ujemnej liczby całkowitej
zobaczmy, jak wygenerować losową ujemną liczbę całkowitą od -60 do -6.
import randomsingedInt = random.randrange(-60, -6)print("Random negative integer between -60 to -6")print(singedInt)
Wyjście:
Random negative integer between -60 to -6-49
Generuj losowo dodatnią lub ujemną liczbę całkowitą
import randomnum = random.randint(-10, 10)print(num)
losowo Generuj 1 lub -1
import randomnum = random.choice()print(num)
Uwaga: użyliśmy random.choice (), aby wybrać jedną liczbę z listy liczb. Tutaj Nasza lista jest
Generowanie listy losowych liczb całkowitych
w tej sekcji zobaczymy, jak wygenerować wiele losowych liczb. Czasami potrzebujemy przykładowej listy do wykonania testów lub jakiejkolwiek operacji. W tym przypadku zamiast tworzyć ją ręcznie, możemy utworzyć listę z losowymi liczbami całkowitymi używając randint()
lub randrange()
. W tym przykładzie zobaczymy, jak utworzyć listę 10 losowych liczb całkowitych.
Wyjście:
Printing list of 10 random numbers
w tym przykładzie istnieje szansa na uzyskanie duplikatu liczby na liście
Utwórz listę liczb losowych bez duplikatów
w powyższym przykładzie istnieje szansa na uzyskanie duplikatu liczby losowej na liście. Jeśli chcesz upewnić się, że każda liczba na liście jest unikalna, istnieje prosty sposób na wygenerowanie listy unikalnych liczb losowych. Używając random.sample() możemy utworzyć listę unikalnych liczb losowych.
-
random.sample()
zwraca próbkowaną listę wybranych liczb losowych w zakresie wartości. - nigdy nie powtarza elementu, dzięki czemu możemy uzyskać listę losowych liczb bez duplikatów
zobaczmy, jak wygenerować 10 losowych liczb całkowitych z zakresu od 0 do 1000.
wyjście:
Jeśli chcesz, aby każda liczba była wielokrotnością n
, użyj step
parametru range()
funkcji. Na przykład, chcesz mieć listę 10 losowych liczb, ale każda liczba całkowita na liście musi być wielokrotnością 5, a następnie użyj random.sample(range(0, 1000, 5), 10)
Czytaj więcej: random.sample()
Sortuj listę losowych liczb
Jeśli chcesz posortować listę losowych liczb całkowitych w kolejności rosnącej, użyj funkcji sort()
Wyjście:
Before sorting random integers listAfter sorting random integers list
Wygeneruj bezpieczną losową liczbę całkowitą
przede wszystkim przykłady nie są kryptograficznie bezpieczne. Kryptograficznie Bezpieczny generator losowy generuje losowe liczby przy użyciu metod synchronizacji, aby zapewnić, że żadne dwa procesy nie mogą uzyskać tej samej liczby w tym samym czasie. Jeśli tworzysz liczby losowe dla aplikacji wrażliwych na bezpieczeństwo, musisz użyć tego podejścia.
Jeśli używasz Pythona w wersji mniejszej niż 3.6 i chcesz wygenerować kryptograficznie bezpieczną losową liczbę całkowitą, użyj funkcji random.SystemRandom().randint()
lub random.SystemRandom().randrange()
. Zobacz jak zabezpieczyć losowe DANE w Pythonie.
przykład:
wyjście:
Secure random integer is 30Secure random integer is 162
Jeśli używasz Pythona w wersji wyższej niż 3.6, możesz użyć modułu secrets do wygenerowania bezpiecznej, losowej liczby całkowitej.
import secretsprint("Random integer generated using secrets module is ")# from 0 to 10secureNum1 = secrets.randbelow(10)print(secureNum1)
Wyjście:
Random integer generated using secrets module is 8
- bezpieczne losowe DANE w Pythonie.
- Python secrets module
Utwórz losową wielowymiarową tablicę losowych liczb całkowitych
moduł NumPy Pythona manumpy.random
pakiet do generowania losowych danych. Aby utworzyć losową wielowymiarową tablicę liczb całkowitych w danym zakresie, możemy użyć następujących metod NumPy:
teraz zobaczmy przykład.
generowanie tablicy Int 4 x 4 między 10 a 50, wyłącznie:
wyjście:
4 x 4 array of ints between 10 and 20 inclusive ]
generowanie tablicy int 5 x 3 między 60 a 100, włącznie:
wyjście:
3 x 5 array of ints between 10 and 20 exclusive ]
punkty do zapamiętania o randint() i randrange ()
- użyj
randint()
, gdy chcesz wygenerować losową liczbę z zakresu włącznie. - użyj
randrange()
, gdy chcesz wygenerować losową liczbę w zakresie, określając wartość kroku. Tworzy losową liczbę z wyjątkowego zakresu.
powinieneś być świadomy pewnych ograniczeń wartości funkcjirandrange()
.
-
randint(
) randrandrange()
działa tylko z liczbami całkowitymi. Nie można używać liczb zmiennoprzecinkowych. - jeśli użyjesz liczb zmiennoprzecinkowych, spowoduje to podniesienie
ValueError: non-integer arg 1 for randrange()
. Zapoznaj się z tym artykułem, aby wygenerować losową liczbę zmiennoprzecinkową między zakresem. - krok nie może być równy 0. Jeśli jest ustawiona na 0, otrzymasz
ValueError: zero step for randrange()
start nie powinien być większy niż stop, jeśli używasz wszystkich liczb dodatnich. Jeśli przez pomyłkę ustawisz start większy niż stop, otrzymasz ValueError: empty range for randrange()
import randomprint(random.randrange(100, 10, 2))
Wyjście:
ValueError: empty range for randrange()
ale możesz również ustawić wartość start większą niż stop, jeśli używasz ujemnej wartości kroku.
import randomprint(random.randrange(100, 10, -2))
Wyjście:
60
więc co myślisz?
Co sądzisz o tym artykule na randint()
I randrange()
? A może przegapiłem jedno z zastosowań tych dwóch funkcji. Tak czy inaczej, daj mi znać, zostawiając komentarz poniżej.
spróbuj również rozwiązać poniższe ćwiczenie i quiz, aby lepiej zrozumieć pracę z losowymi danymi w Pythonie.
- Python random data generation ćwiczenie do Ćwiczenia i opanowania technik generowania losowych danych w Pythonie.
- Python random data generation Quiz, aby przetestować twoje koncepcje generowania losowych danych.
Leave a Reply