El Python aleatòria El mòdul permet generar números aleatoris. Els nombres generats són una seqüència de nombres pseudoaleatoris, que es basen en la funció utilitzada. Hi ha diferents tipus de funcions que s'utilitzen en un mòdul aleatori per generar números aleatoris, com ara random.random (), random.randint (), random.choice (), random.randrange (inici, aturada, amplada) , i molts més.
Aquí, parlarem del randrange() funció de la aleatòria mòdul. El randrange() La funció s'utilitza per generar un nombre aleatori entre l'interval especificat en el seu paràmetre. Accepta tres paràmetres: número inicial, número de parada i amplada, que s'utilitza per saltar un número de l'interval.
Sintaxi de random.randrange()
random.randrange(start, stop[, width])
El random.randrange() La funció retorna un nombre enter aleatori dins de l'interval donat, és a dir, inici i aturada. El random.randrange() La funció pren tres paràmetres com a entrada començar, parar , i amplada . D'aquests tres paràmetres, els dos paràmetres començar i amplada són opcionals.
- El començar El paràmetre és un nombre enter de límit inicial o inferior en un rang aleatori. Si el paràmetre d'inici no es passa al paràmetre, pren el valor per defecte 0 (zero).
- A Atura El paràmetre és l'últim nombre o nombre enter del límit superior en un rang aleatori.
- El amplada El paràmetre és un interval entre cada nombre de la seqüència aleatòria. Aquest paràmetre és opcional i, si el paràmetre d'amplada no es passa al paràmetre, pren el valor per defecte 1 (un).
El randrange (inici, parada, amplada) La funció no inclou el paràmetre final mentre es genera el nombre enter aleatori. El Atura el paràmetre és exclusiu , i no es genera en un nombre aleatori.
Mireu aquesta funció random.randrange(3, 30, 3) que generarà qualsevol valor enter aleatori entre 3 i 30 com 3, 6, 9, 12, ...27. Però aquesta funció mai inclou 30 mentre genera un nombre aleatori.
Generar un aleatori en una aplicació sempre ha estat important, i té diversos usos en temps real en el dia a dia. Per exemple, generar i enviar un número aleatori a un client com a OTP (contrasenya única) per fer una transacció segura. Un altre exemple de generació d'un nombre aleatori s'utilitza mentre es juga al joc per generar un nombre de daus aleatori.
Exemples 1: random.randrange() genera un nombre enter aleatori dins de l'interval donat
Vegem un exemple en què estem generant un nombre enter aleatori dins d'un interval determinat. Aquest exemple mostra totes les diferents formes de la funció 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)
Sortida:
Exemple 2: genereu un interval de nombres enters aleatoris (múltiple) de n
Generem el nombre enter aleatori entre 5 i 100, que és un rang de 5 com ara 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)
Sortida:
Exemple 3: genereu el nombre enter aleatori d'una longitud específica
També podeu generar un nombre enter aleatori d'una longitud específica. Si voleu generar un nombre aleatori de longitud 3, introduïu el començar i Atura paràmetre a randrange() funcionen com un nombre mínim de 3 dígits (100) i un nombre mínim de 4 dígits (1000) perquè genera un nombre aleatori de 3 dígits del 100 al 999 on s'exclouen 4 dígits (1000).
Exemple: genereu un nombre aleatori de 3 dígits mitjançant 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)
Sortida:
First random number of length 3 is: 813 Second random number of length 3 is: 770
Exemple 4: genereu un nombre enter negatiu aleatori:
Vegem un exemple que genera un nombre enter negatiu aleatori entre -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)
Sortida:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
Exemple 5: genera un nombre enter positiu o negatiu aleatori
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
Sortida:
-5 0
Tingueu en compte que el paràmetre començar i Atura , que es passa random.randrange() funció ha d'estar en ordre creixent, com ara random.randrange(5, 10) o random.randrange (-20, -10) . El començar el paràmetre sempre serà més petit que el Atura paràmetre; en cas contrari, aquesta funció genera un error com 'Traceback (la trucada més recent darrera) i augmenta l'interval buit ValueError per a randrange()' .
Per exemple:
Mireu aquest exemple en què estem infringint la regla en aprovar la començar paràmetre més gran que el Atura paràmetre a random.randrange() funció, que genera un missatge d'error com:
ordenant la llista en java
import random randomNumber = random.randrange(10,5)
Sortida:
Algunes de les altres funcions de De Python aleatòria mòdul que s'utilitzen per generar números aleatòriament són:
random.choice()
Python aleatòria el mòdul té a elecció () funció que s'utilitza per triar un element aleatori d'una llista o una altra seqüència. A random.choice() La funció s'utilitza per retornar un element aleatori de la llista de valors.
Sintaxi de ramdom.choice()
random.choice(sequence)
o
random.choices(sequence, k=l)
Aquí el paràmetre seqüència pot ser cadena, llista, tupla i random.choice() només un element aleatori.
En el eleccions.atzar() funció k és el nombre d'elements a retornar. Suposem que no esmentem el valor de k paràmetre el eleccions.atzar() retorna un únic element de la seqüència o llista.
Exemple 1:
En aquest exemple, proporcionem la seqüència (llista) com a paràmetre i retornem un únic element aleatori.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
Sortida:
random item from list is: 10
Exemple 2:
La funció random.choices() s'utilitza principalment per retornar elements aleatoris amb diverses possibilitats. Aquesta funció també pondera (k) el nombre d'opcions aleatòries. Per exemple, volem imprimir el nom de 3 pel·lícules aleatòries de la llista de 5 pel·lícules.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
Sortida:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
random.randint()
Python random.randint() La funció s'utilitza per generar un nombre enter aleatori dins de l'interval especificat.
Sintaxi:
random.randint(start, stop)
El random.randint() La funció pren dos paràmetres començar , que és un rang inicial, i Atura , que és un rang final. Tots dos paràmetres (inici, parada) s'inclouen mentre es genera un nombre aleatori.
Exemple de random.randint() que genera una llista de nombres enters aleatoris
Aquest exemple crearà una llista de diversos nombres enters aleatoris utilitzant la funció randint(). En generar una llista de 5 nombres enters aleatoris entre 1 i 100, tots dos valors són inclosos.
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)
Sortida:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
Tanmateix, pot haver-hi la possibilitat que el random.randint() La funció retorna un número duplicat al resultat de sortida. Per evitar el nombre enter aleatori duplicat en un resultat, feu servir random.sample() funció.
random.sample()
En l'exemple anterior, pot haver-hi la possibilitat que random.randint() genera el nombre aleatori duplicat de la llista. Si voleu generar números aleatoris únics a partir d'una llista, feu servir random.sample() funció.
El random.sample() La funció genera elements únics a partir d'un conjunt, llista i altres seqüències. La funció random.sample() de Python permet el mostreig aleatori de més d'un element dins d'un rang de la llista sense duplicar.
Exemple de random.sample() per generar elements aleatoris d'una llista sense duplicats:
En aquest exemple, generarem 10 nombres enters aleatoris del rang 0 a 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
Sortida:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
Si voleu generar una llista de nombres aleatoris i cadascun d'ells ha de ser múltiple de 'n', feu servir el paràmetre de pas de la funció range().
Per exemple, generant 10 nombres enters aleatoris que són múltiples de 5 de l'interval 0 a 100 mitjançant 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)
Sortida:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
Classificació per llista ()
El Python ordenar () La funció s'utilitza per ordenar els nombres enters aleatoris de la llista en ordre ascendent (per defecte). També podem ordenar el valor de la llista en ordre descendent especificant el seu ordre revers = Veritable . El valor predeterminat de revés és Fals .
Exemple 1: sort() ordena els elements de la llista en ordre ascendent
En aquest exemple, generarem una llista aleatòria de 5 números en un rang de 50 a 100 amb l'amplada de 5 i els ordenarem mitjançant ordenar () funció.
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)
Sortida:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
Exemple 2: sort() ordena els elements de la llista en ordre descendent
En aquest exemple, ordenarem els elements de la llista en ordre descendent utilitzant 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)
Sortida:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]