logo

Python slumpmässigt randomfång()

Pytonen slumpmässig modulen tillåter generering av slumptal. De genererade talen är en sekvens av pseudoslumptal, som är baserade på den använda funktionen. Det finns olika typer av funktioner som används i en slumpmässig modul för att generera slumptal, som t.ex random.random(), random.randint(), random.choice(), random.randomfång(start, stopp, bredd) , och många fler.

Här kommer vi att diskutera randrange() funktion av slumpmässig modul. De randrange() funktion används för att generera ett slumptal mellan det angivna området i dess parameter. Den accepterar tre parametrar: startnummer, stoppnummer och bredd, som används för att hoppa över ett nummer i intervallet.

Syntax för random.randrange()

 random.randrange(start, stop[, width]) 

De random.randrange() funktion returnerar ett slumpmässigt heltal inom det givna intervallet, dvs start och stopp. De random.randrange() funktion tar tre parametrar som en ingång starta, sluta , och bredd . Av dessa tre parametrar, de två parametrarna Start och bredd är valfria.

  • De Start parameter är en start- eller nedre gräns heltal i ett slumpmässigt intervall. Om startparametern inte skickas i parameter, tar den standardvärdet 0 (noll).
  • A sluta parameter är det sista talet eller den övre gränsen heltal i ett slumpmässigt intervall.
  • De bredd parameter är ett intervall mellan varje nummer i den slumpmässiga sekvensen. Denna parameter är valfri, och om breddparametern inte skickas i parametern, tar den standardvärdet 1 (ett).

De randrange(start, stopp, bredd) funktionen inkluderar inte slutparametern när det slumpmässiga heltalstalet genereras. De sluta parametern är exklusiv , och det genereras inte i ett slumpmässigt tal.

Titta på denna random.randrange(3, 30, 3) funktion som genererar alla slumpmässiga heltalsvärden mellan 3 och 30 som 3, 6, 9, 12, …27. Men den här funktionen inkluderar aldrig 30 när ett slumptal genereras.

Det har alltid varit viktigt att generera en slump i en applikation, och den har flera realtidsanvändningar i det dagliga livet. Till exempel att generera och skicka ett slumpmässigt nummer till en kund som ett OTP (engångslösenord) för att göra en säker transaktion. Ett annat exempel på att generera ett slumptal används när du spelar ludospelet för att generera ett slumpmässigt tärningsnummer.

Exempel 1: random.randrange() genererar ett slumpmässigt heltal inom det givna intervallet

Låt oss se ett exempel där vi genererar ett slumpmässigt heltal inom ett givet intervall. Det här exemplet visar alla olika former av funktionen 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) 

Produktion:

Python slumpmässigt randomfång()

Exempel 2: Generera ett slumpmässigt heltalsintervall (multipel) av n

Låt oss generera ett slumpmässigt heltal mellan 5 och 100, vilket är ett intervall på 5 som 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) 

Produktion:

Python slumpmässigt randomfång()

Exempel 3: Generera det slumpmässiga heltal för en specifik längd

Du kan också generera ett slumpmässigt heltal av en viss längd. Om du vill generera ett slumpmässigt antal längd 3, mata in Start och sluta parameter in randrange() fungerar som minsta antal 3-siffriga längder (100) och minsta antal 4-siffriga längder (1000) eftersom det genererar ett slumpmässigt antal 3-siffriga från 100 till 999 där 4 siffror (1000) är exkluderade.

Exempel: Generera ett slumptal med tre siffror med 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) 

Produktion:

 First random number of length 3 is: 813 Second random number of length 3 is: 770 

Exempel 4: Generera ett slumpmässigt negativt heltal:

Låt oss se ett exempel som genererar ett slumpmässigt negativt heltal mellan -50 och -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) 

Produktion:

 Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43 

Exempel 5: Generera slumpmässigt positivt eller negativt heltal

 import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2) 

Produktion:

 -5 0 

Observera att parametern Start och sluta , som skickas in random.randrange() funktion måste vara i ökande ordning, som t.ex random.randrange(5, 10) eller random.randrange(-20, -10) . De Start parametern alltid vara mindre än sluta parameter; annars genererar den här funktionen ett fel som 'Spåra tillbaka (senaste samtalet senast) och höj ValueError tomt intervall för randrange()' .

Till exempel:

Titta på det här exemplet där vi bryter mot regeln genom att godkänna Start parameter större än sluta parameter in random.randrange() funktion, som genererar ett felmeddelande som:

inkapsling java
 import random randomNumber = random.randrange(10,5) 

Produktion:

Python slumpmässigt randomfång()

Några av de andra funktionerna Pythons slumpmässig modul som används för att generera tal slumpmässigt är:

    val() randint() prov() sortera()

random.choice()

Pytonorm slumpmässig modulen har en val() funktion som används för att välja ett slumpmässigt element från en lista eller annan sekvens. A random.choice() funktion används för att returnera ett slumpmässigt element från värdelistan.

Syntax för ramdom.choice()

 random.choice(sequence) 

eller

 random.choices(sequence, k=l) 

Här är parametern sekvens kan vara sträng, lista, tupel och random.choice() endast ett enda slumpmässigt element.

I den random.choices() fungera k är antalet element som ska returneras. Anta att vi inte nämner värdet för k parametern random.choices() returnerar ett enstaka objekt från sekvensen eller listan.

Exempel 1:

I det här exemplet tillhandahåller vi på sekvens (lista) som en parameter och returnerar ett enda slumpmässigt element.

 import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item) 

Produktion:

 random item from list is: 10 

Exempel 2:

Funktionen random.choices() används mest för att returnera slumpmässiga element med olika möjligheter. Denna funktion tar också vikt (k) antalet slumpmässiga val. Till exempel vill vi skriva ut 3 slumpmässiga filmnamn från en lista med 5 filmer.

 import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies) 

Produktion:

 random movies from list are: ['Avengers', 'Black Panther', 'Titanic'] 

random.randint()

Pytonorm random.randint() funktion används för att generera ett slumpmässigt heltal inom det angivna intervallet.

Syntax:

 random.randint(start, stop) 

De random.randint() funktionen tar två parametrar Start , som är ett startintervall, och sluta , vilket är ett slutintervall. Båda parametrarna (start, stopp) ingår samtidigt som ett slumptal genereras.

Exempel på random.randint() som genererar en lista med slumpmässiga heltal

Det här exemplet kommer att skapa en lista med flera slumpmässiga heltal med hjälp av funktionen randint(). Genererar en lista med 5 slumpmässiga heltal mellan 1 och 100, båda värdena är inklusive.

 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) 

Produktion:

 Printing list of 5 generated random numbers [65, 82, 3, 39, 40] 

Det kan dock finnas en möjlighet att random.randint() funktion returnerar ett dubblettnummer i utdataresultatet. För att undvika det dubbla slumpmässiga heltalstalet i ett resultat, använd slumpmässigt urval() fungera.

slumpmässigt urval()

I exemplet ovan kan det finnas en möjlighet att random.randint() genererar det slumpmässiga dubblettnumret från listan. Om du vill generera unika slumptal från en lista, använd slumpmässigt urval() fungera.

De slumpmässigt urval() funktionen genererar unika element från en uppsättning, lista och andra sekvenser. Pythons funktion random.sample() tillåter slumpmässig sampling av mer än ett element inom ett intervall från listan utan att duplicera.

Exempel på en random.sample() för att generera slumpmässiga element från en lista utan dubbletter:

I det här exemplet kommer vi att generera 10 slumpmässiga heltal från intervallet 0 till 100.

 import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList) 

Produktion:

 [15, 17, 16, 66, 34, 85, 71, 82, 97, 48] 

Om du vill generera en lista med slumptal och vart och ett av dem måste vara multipel av 'n', använd stegparametern för range()-funktionen.

Till exempel, generera 10 slumpmässiga heltal som är multipel av 5 från intervallet 0 till 100 med 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) 

Produktion:

 [75, 40, 20, 55, 15, 10, 5, 90, 95, 70] 

List sort()

Pytonen sortera() funktionen används för att sortera listans slumpmässiga heltal i stigande ordning (som standard). Vi kan också sortera listvärdet i fallande ordning genom att ange dess ordning omvänd = Sant . Standardvärdet för omvänd är Falsk .

Exempel 1: sort() sorterar listelement i stigande ordning

I det här exemplet kommer vi att generera en slumpmässig lista med 5 siffror i intervallet 50 till 100 med bredden 5 och sortera dem med hjälp av sortera() fungera.

 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) 

Produktion:

 Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90] 

Exempel 2: sort() sorterar listelement i fallande ordning

I det här exemplet kommer vi att sortera listelementen i fallande ordning med hjälp av 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) 

Produktion:

 Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]