Pyton losowy moduł umożliwia generowanie liczb losowych. Wygenerowane liczby są ciągiem liczb pseudolosowych, które opierają się na użytej funkcji. Istnieją różne typy funkcji używanych w module losowym do generowania liczb losowych, np losowy.losowy(), losowy.randint(), losowy.choice(), losowy.losowy(początek, koniec, szerokość) , i wiele więcej.
Tutaj omówimy zakres losowy() funkcja losowy moduł. The zakres losowy() Funkcja służy do generowania losowej liczby z zakresu określonego w jej parametrze. Przyjmuje trzy parametry: numer początkowy, numer końcowy i szerokość, która służy do pomijania liczby w zakresie.
Składnia random.randrange()
random.randrange(start, stop[, width])
The losowy.losowy() funkcja zwraca losową liczbę całkowitą z podanego zakresu, tj. start i stop. The losowy.losowy() funkcja przyjmuje na wejściu trzy parametry zacząć zakończyć , I szerokość . Z tych trzech parametrów dwa parametry początek I szerokość są opcjonalne.
- The początek parametr jest początkową lub dolną liczbą całkowitą z losowego zakresu. Jeżeli parametr start nie zostanie przekazany w parametrze, przyjmuje on wartość domyślną 0 (zero).
- A zatrzymywać się parametr jest ostatnią liczbą lub górną liczbą całkowitą z losowego zakresu.
- The szerokość parametr to zakres pomiędzy każdą liczbą w losowej sekwencji. Parametr ten jest opcjonalny i jeśli parametr szerokości nie zostanie przekazany w parametrze, przyjmuje wartość domyślną 1 (jeden).
The zakres (początek, koniec, szerokość) funkcja nie uwzględnia parametru end podczas generowania losowej liczby całkowitej. The zatrzymywać się parametr jest Ekskluzywny i nie jest generowany w liczbie losowej.
Spójrz na tę funkcję random.randrange(3, 30, 3), która wygeneruje dowolną losową wartość całkowitą z zakresu od 3 do 30, np. 3, 6, 9, 12,…27. Ale ta funkcja nigdy nie uwzględnia 30 podczas generowania liczby losowej.
Generowanie losowości w aplikacji zawsze było ważne i ma kilka zastosowań w czasie rzeczywistym w życiu codziennym. Na przykład wygenerowanie i wysłanie losowej liczby do klienta jako OTP (hasło jednorazowe) w celu dokonania bezpiecznej transakcji. Innym przykładem generowania liczby losowej jest wykorzystanie gry ludo do wygenerowania losowej liczby kostek.
Przykłady 1: random.randrange() generuje losową liczbę całkowitą z podanego zakresu
Zobaczmy przykład, w którym generujemy losową liczbę całkowitą z zadanego zakresu. Ten przykład pokazuje wszystkie różne formy funkcji random.randrange().
import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3)
Wyjście:
Przykład 2: Wygeneruj losowy zakres liczb całkowitych (wielokrotność) n
Wygenerujmy losową liczbę całkowitą z zakresu od 5 do 100, czyli zakres 5, na przykład 5, 10, 25,…, 90, 95.
import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number)
Wyjście:
Przykład 3: Wygeneruj losową liczbę całkowitą o określonej długości
Można także wygenerować losową liczbę całkowitą o określonej długości. Jeśli chcesz wygenerować losową liczbę o długości 3, wprowadź początek I zatrzymywać się parametr w zakres losowy() działa jako najmniejsza liczba o długości 3 cyfr (100) i najmniejsza liczba o długości 4 cyfr (1000), ponieważ generuje losową liczbę 3 cyfr od 100 do 999, gdzie wykluczone są 4 cyfry (1000).
Przykład: wygeneruj losową liczbę składającą się z 3 cyfr za pomocą funkcji random.randrange()
import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2)
Wyjście:
First random number of length 3 is: 813 Second random number of length 3 is: 770
Przykład 4: Wygeneruj losową ujemną liczbę całkowitą:
Zobaczmy przykład, który generuje losową ujemną liczbę całkowitą z zakresu od -50 do -10.
import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger)
Wyjście:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
Przykład 5: Wygeneruj losową dodatnią lub ujemną liczbę całkowitą
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
Wyjście:
-5 0
Należy pamiętać, że parametr początek I zatrzymywać się , który jest przekazywany losowy.losowy() funkcja musi być uporządkowana rosnąco, np losowy.randrange(5, 10) Lub losowy.randrange(-20, -10) . The początek parametr zawsze będzie mniejszy niż zatrzymywać się parametr; w przeciwnym razie ta funkcja generuje błąd jako „Śledzenie (ostatnie wywołanie jako ostatnie) i podniesienie pustego zakresu ValueError dla randrange()” .
Na przykład:
Spójrz na ten przykład, w którym naruszamy regułę, przekazując początek parametr większy od zatrzymywać się parametr w losowy.losowy() funkcję, która generuje komunikat o błędzie w postaci:
typy złączeń w rdbms
import random randomNumber = random.randrange(10,5)
Wyjście:
Niektóre inne funkcje Pythona losowy moduł używane do losowego generowania liczb to:
losowy.wybór()
Pyton losowy moduł posiada wybór() funkcja służąca do wybierania losowego elementu z listy lub innej sekwencji. A losowy.wybór() funkcja służy do zwracania losowego elementu z listy wartości.
Składnia ramdom.choice()
random.choice(sequence)
Lub
random.choices(sequence, k=l)
Tutaj parametr sekwencja może być ciągiem znaków, listą, krotką i losowy.wybór() tylko jeden losowy element.
w losowe.wybory() funkcjonować k to liczba elementów do zwrócenia. Załóżmy, że nie wspominamy o wartości dla k parametr losowe.wybory() zwraca pojedynczy element z sekwencji lub listy.
Przykład 1:
W tym przykładzie podajemy sekwencję (listę) jako parametr i zwracamy pojedynczy losowy element.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
Wyjście:
random item from list is: 10
Przykład 2:
Funkcja random.choices() jest najczęściej używana do zwracania losowych elementów o różnych możliwościach. Funkcja ta przyjmuje również wagę (k) liczbę losowych wyborów. Na przykład chcemy wydrukować 3 losowe nazwy filmów z listy 5 filmów.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
Wyjście:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
losowy.randint()
Pyton losowy.randint() funkcja służy do generowania losowej liczby całkowitej z określonego zakresu.
Składnia:
random.randint(start, stop)
The losowy.randint() funkcja przyjmuje dwa parametry początek , który jest zakresem początkowym, oraz zatrzymywać się , czyli zakres końcowy. Obydwa parametry (start, stop) są uwzględniane przy generowaniu liczby losowej.
Przykład funkcji random.randint() generującej listę losowych liczb całkowitych
W tym przykładzie utworzona zostanie lista wielu losowych liczb całkowitych przy użyciu funkcji randint(). Generując listę 5 losowych liczb całkowitych od 1 do 100, obie wartości są uwzględniane.
import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue)
Wyjście:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
Może jednak istnieć taka możliwość losowa.randint() funkcja zwraca zduplikowaną liczbę w wyniku wyjściowym. Aby uniknąć zduplikowania losowej liczby całkowitej w wyniku, użyj losowa próbka() funkcjonować.
losowa próbka()
W powyższym przykładzie może być taka możliwość losowy.randint() generuje zduplikowaną liczbę losową z listy. Jeśli chcesz wygenerować unikalne liczby losowe z listy, użyj losowa próbka() funkcjonować.
The losowa próbka() funkcja generuje unikalne elementy ze zbioru, listy i innych sekwencji. Funkcja random.sample() w języku Python umożliwia losowe próbkowanie więcej niż jednego elementu w zakresie z listy bez duplikowania.
Przykład funkcji random.sample() generującej losowe elementy z listy bez duplikatów:
W tym przykładzie wygenerujemy 10 losowych liczb całkowitych z zakresu od 0 do 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
Wyjście:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
Jeśli chcesz wygenerować listę liczb losowych i każda z nich musi być wielokrotnością 'n', użyj parametru step funkcji range().
Na przykład wygenerowanie 10 losowych liczb całkowitych, które są wielokrotnością 5 z zakresu od 0 do 100 przy użyciu metody random.sample(range(0, 100, 5), 10).
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList)
Wyjście:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
Sortowanie listy()
Pyton sortować() funkcja służy do sortowania losowych liczb całkowitych z listy w kolejności rosnącej (domyślnie). Możemy także posortować wartość listy w kolejności malejącej, określając jej kolejność odwrotność = prawda . Domyślna wartość odwracać Jest FAŁSZ .
Przykład 1: sort() sortuje elementy listy w kolejności rosnącej
W tym przykładzie wygenerujemy losową listę 5 liczb z zakresu od 50 do 100 o szerokości 5 i posortujemy je za pomocą sortować() funkcjonować.
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList)
Wyjście:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
Przykład 2: sort() sortuje elementy listy w kolejności malejącej
W tym przykładzie posortujemy elementy listy w kolejności malejącej za pomocą randomList.sort(reverse=True) .
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList)
Wyjście:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]