logo

Losowy zakres w Pythonie()

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:

Losowy zakres w Pythonie()

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:

Losowy zakres w Pythonie()

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:

Losowy zakres w Pythonie()

Niektóre inne funkcje Pythona losowy moduł używane do losowego generowania liczb to:

    wybór() randek() próbka() sortować()

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]