Pitonul Aleatoriu modulul permite generarea de numere aleatorii. Numerele generate sunt o secvență de numere pseudoaleatoare, care se bazează pe funcția utilizată. Există diferite tipuri de funcții utilizate într-un modul aleator pentru a genera numere aleatorii, cum ar fi random.random(), random.randint(), random.choice(), random.randrange(start, stop, width) , si multe altele.
Aici, vom discuta despre randrange() funcția de Aleatoriu modul. The randrange() funcția este utilizată pentru a genera un număr aleator între intervalul specificat în parametrul său. Acceptă trei parametri: numărul de început, numărul de oprire și lățimea, care este folosit pentru a sări peste un număr din interval.
Sintaxa lui random.randrange()
random.randrange(start, stop[, width])
The random.randrange() funcția returnează un număr întreg aleatoriu în intervalul dat, adică start și oprire. The random.randrange() funcția ia trei parametri ca intrare start Stop , și lăţime . Dintre acești trei parametri, cei doi parametri start și lăţime sunt optionale.
- The start parametrul este un număr întreg de început sau limită inferioară într-un interval aleator. Dacă parametrul de pornire nu este trecut în parametru, acesta ia valoarea implicită 0 (zero).
- A Stop parametrul este ultimul număr sau numărul întreg limită superioară dintr-un interval aleator.
- The lăţime parametrul este un interval între fiecare număr din secvența aleatorie. Acest parametru este opțional, iar dacă parametrul lățime nu este trecut în parametru, acesta ia valoarea implicită 1 (unu).
The randrange(start, stop, width) funcția nu include parametrul final în timpul generării numărului întreg aleatoriu. The Stop parametrul este exclusiv , și nu este generat într-un număr aleatoriu.
Priviți această funcție random.randrange(3, 30, 3) care va genera orice valoare întreagă aleatorie între 3 și 30, cum ar fi 3, 6, 9, 12, ...27. Dar această funcție nu include niciodată 30 în timp ce generează un număr aleator.
Generarea unei aplicații aleatorii a fost întotdeauna importantă și are mai multe utilizări în timp real în viața de zi cu zi. De exemplu, generarea și trimiterea unui număr aleatoriu către un client ca OTP (o singură parolă) pentru a efectua o tranzacție sigură. Un alt exemplu de generare a unui număr aleator este folosit în timpul jocului ludo pentru a genera un număr de zaruri aleatoriu.
Exemplele 1: random.randrange() generează un număr întreg aleatoriu în intervalul dat
Să vedem un exemplu în care generăm un număr întreg aleatoriu într-un interval dat. Acest exemplu arată toate formele diferite ale funcției 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)
Ieșire:
Exemplul 2: Generați un interval de numere întregi aleatorii (multiplu) de n
Să generăm un număr întreg aleatoriu între 5 și 100, care este un interval de 5, cum ar fi 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)
Ieșire:
Exemplul 3: Generați un număr întreg aleatoriu de o anumită lungime
De asemenea, puteți genera un număr întreg aleatoriu de o anumită lungime. Dacă doriți să generați un număr aleator de lungime 3, introduceți start și Stop parametrul in randrange() funcționează ca cel puțin număr de 3 cifre lungime (100) și cel puțin număr de 4 cifre lungime (1000), deoarece generează un număr aleatoriu de 3 cifre de la 100 la 999 unde 4 cifre (1000) sunt excluse.
Exemplu: generați un număr aleatoriu de 3 cifre folosind 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)
Ieșire:
First random number of length 3 is: 813 Second random number of length 3 is: 770
Exemplul 4: Generați un număr întreg negativ aleatoriu:
Să vedem un exemplu care generează un număr întreg negativ aleatoriu între -50 și -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)
Ieșire:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
Exemplul 5: Generați un număr întreg pozitiv sau negativ aleatoriu
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
Ieșire:
-5 0
Rețineți că parametrul start și Stop , care se transmite random.randrange() funcția trebuie să fie în ordine crescătoare, cum ar fi random.randrange(5, 10) sau random.randrange(-20, -10) . The start parametrul să fie întotdeauna mai mic decât Stop parametru; în caz contrar, această funcție generează o eroare ca „Traceback (cel mai recent apel ultimul) și ridicați ValueError interval gol pentru randrange()” .
De exemplu:
Uită-te la acest exemplu în care încălcăm regula prin trecerea start parametru mai mare decât Stop parametrul in random.randrange() funcția, care generează un mesaj de eroare ca:
constructori în java
import random randomNumber = random.randrange(10,5)
Ieșire:
Unele dintre celelalte funcții ale Al lui Python Aleatoriu modul care sunt folosite pentru a genera numere aleatoriu sunt:
random.choice()
Piton Aleatoriu modulul are un alegere() funcție folosită pentru a alege un element aleatoriu dintr-o listă sau altă secvență. A random.choice() funcția este folosită pentru a returna un element aleatoriu din lista de valori.
Sintaxa lui ramdom.choice()
random.choice(sequence)
sau
random.choices(sequence, k=l)
Aici parametrul secvenţă poate fi șir, listă, tuplu și random.choice() doar un singur element aleatoriu.
În random.choices() funcţie k este numărul de elemente care trebuie returnate. Să presupunem că nu menționăm valoarea pentru k parametrul random.choices() returnează un singur element din secvență sau listă.
Exemplul 1:
În acest exemplu, oferim secvența (lista) ca parametru și returnăm un singur element aleatoriu.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
Ieșire:
random item from list is: 10
Exemplul 2:
Funcția random.choices() este folosită în cea mai mare parte pentru a returna elemente aleatoare cu posibilități variate. Această funcție are de asemenea pondere (k) cu numărul de alegeri aleatorii. De exemplu, dorim să tipărim 3 nume aleatorii de filme din lista de 5 filme.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
Ieșire:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
random.randint()
Piton random.randint() funcția este utilizată pentru a genera un număr întreg aleatoriu în intervalul specificat.
Sintaxă:
random.randint(start, stop)
The random.randint() funcția ia doi parametri start , care este un interval de pornire și Stop , care este un interval final. Ambii parametri (start, stop) sunt incluși în timpul generării unui număr aleator.
Exemplu de random.randint() care generează o listă de numere întregi aleatoare
Acest exemplu va crea o listă de mai multe numere întregi aleatoare folosind funcția randint(). Generând o listă de 5 numere întregi aleatorii între 1 și 100, ambele valori sunt inclusive.
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)
Ieșire:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
Cu toate acestea, poate exista posibilitatea ca random.randint() funcția returnează un număr duplicat în rezultatul de ieșire. Pentru a evita numărul întreg aleator duplicat într-un rezultat, utilizați random.sample() funcţie.
random.sample()
În exemplul de mai sus, poate exista posibilitatea ca random.randint() generează numărul aleator duplicat din listă. Dacă doriți să generați numere aleatorii unice dintr-o listă, utilizați random.sample() funcţie.
The random.sample() funcția generează elemente unice dintr-un set, listă și alte secvențe. Funcția random.sample() de la Python permite eșantionarea aleatorie a mai multor elemente dintr-un interval din listă fără duplicare.
Exemplu de random.sample() pentru a genera elemente aleatorii dintr-o listă fără duplicate:
În acest exemplu, vom genera 10 numere întregi aleatorii din intervalul 0 la 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
Ieșire:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
Dacă doriți să generați o listă de numere aleatoare și fiecare dintre ele trebuie să fie multiplu de „n”, atunci utilizați parametrul pas al funcției range().
De exemplu, generarea a 10 numere întregi aleatorii care sunt multiplu de 5 din intervalul de la 0 la 100 utilizând 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)
Ieșire:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
Sortare listă()
Pitonul fel() funcția este utilizată pentru a sorta numerele întregi aleatorii ale listei în ordine crescătoare (în mod implicit). De asemenea, putem sorta valoarea listei în ordine descrescătoare specificând ordinea acesteia invers = Adevărat . Valoarea implicită a verso este Fals .
Exemplul 1: sort() elementele listei de sortare în ordine crescătoare
În acest exemplu, vom genera o listă aleatorie de 5 numere într-un interval de la 50 la 100 cu lățimea de 5 și le vom sorta folosind fel() funcţie.
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)
Ieșire:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
Exemplul 2: sort() elementele listei de sortare în ordine descrescătoare
În acest exemplu, vom sorta elementele listei în ordine descrescătoare folosind 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)
Ieșire:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]