logo

Python véletlenszerű randrange()

A Python véletlen modul lehetővé teszi véletlen számok generálását. A generált számok pszeudo-véletlen számok sorozata, amelyek a használt függvényen alapulnak. Különféle típusú függvényeket használnak egy véletlenszerű modulban véletlen számok generálására, mint pl random.random(), random.randint(), random.choice(), random.randrange(kezdet, stop, szélesség) , és még sok más.

Itt megbeszéljük a randrange() funkciója véletlen modult. A randrange() A függvény véletlen számot generál a paraméterében megadott tartomány között. Három paramétert fogad el: kezdőszámot, leállítási számot és szélességet, amely a tartományban lévő számok átugrására szolgál.

A random.randrange() szintaxisa

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

A random.randrange() függvény egy véletlenszerű egész számot ad vissza az adott tartományon belül, azaz a start és a stop. A random.randrange() függvény három paramétert vesz be bemenetként indul, megáll , és szélesség . Ebből a három paraméterből a két paraméter Rajt és szélesség nem kötelezőek.

  • A Rajt paraméter egy kezdő vagy alsó határérték egész szám egy véletlenszerű tartományban. Ha a start paraméter nem kerül átadásra a paraméterben, akkor az alapértelmezett 0 (nulla) értéket vesz fel.
  • A állj meg paraméter az utolsó szám vagy felső határ egész szám egy véletlenszerű tartományban.
  • A szélesség A paraméter egy tartomány a véletlen sorrendben szereplő egyes számok között. Ez a paraméter nem kötelező, és ha a szélesség paraméter nem kerül átadásra a paraméterben, akkor alapértelmezett értéke 1 (egy).

A tartomány (kezdet, leállítás, szélesség) függvény nem tartalmazza a végparamétert a véletlenszerű egész szám generálásakor. A állj meg paraméter az kizárólagos , és nem véletlenszerűen jön létre.

Nézd meg ezt a random.randrange(3, 30, 3) függvényt, amely bármilyen véletlenszerű egész számot generál 3 és 30 között, például 3, 6, 9, 12, …27. De ez a függvény soha nem tartalmaz 30-at, miközben véletlen számot generál.

A véletlenszerű véletlen generálása egy alkalmazásban mindig is fontos volt, és ennek számos valós idejű felhasználása van a mindennapi életben. Például véletlen szám generálása és elküldése az ügyfélnek OTP-ként (egyszeri jelszóként) a biztonságos tranzakció végrehajtásához. Egy másik példa a véletlen szám generálására a ludo játék során véletlenszerű kockaszám generálására.

1. példa: random.randrange() véletlenszerű egész számot generál az adott tartományon belül

Lássunk egy példát, ahol egy véletlenszerű egész számot generálunk egy adott tartományon belül. Ez a példa bemutatja a random.randrange() függvény összes különböző formáját.

 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) 

Kimenet:

Python véletlenszerű randrange()

2. példa: Hozzon létre egy véletlenszerű egész számtartományt (többszörös) n-ből

Állítsuk elő a véletlenszerű egész számot 5 és 100 között, ami egy 5-ös tartomány, például 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) 

Kimenet:

Python véletlenszerű randrange()

3. példa: Adott hosszúságú véletlenszerű egész szám generálása

Adott hosszúságú véletlenszerű egész számot is generálhat. Ha 3 hosszúságú véletlenszámot szeretne generálni, adja meg a Rajt és állj meg paraméter be randrange() a legkisebb 3 jegyű szám (100) és a legkevesebb 4 jegyű szám (1000), mert véletlenszerű számot generál 100 és 999 között, ahol a 4 számjegy (1000) nincs kizárva.

Példa: Hozzon létre egy 3 jegyű véletlenszámot a random.randrange() segítségével

 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) 

Kimenet:

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

4. példa: Véletlenszerű negatív egész szám létrehozása:

Nézzünk egy példát, amely véletlenszerű negatív egész számot generál -50 és -10 között.

 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) 

Kimenet:

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

5. példa: Véletlenszerű pozitív vagy negatív egész szám generálása

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

Kimenet:

 -5 0 

Vegye figyelembe, hogy a paraméter Rajt és állj meg , amely be van adva random.randrange() függvénynek növekvő sorrendben kell lennie, mint pl random.randrange(5, 10) vagy random.randrange(-20, -10) . A Rajt paraméter mindig kisebb legyen, mint a állj meg paraméter; ellenkező esetben ez a függvény hibát generál, mint 'Traceback (legutóbbi hívás utolsó) és ValueError üres tartomány emelése a randrange() esetén' .

Például:

Nézze meg ezt a példát, amelyben megsértjük a szabályt azzal, hogy átadjuk a Rajt paraméter nagyobb, mint a állj meg paraméter be random.randrange() függvény, amely a következő hibaüzenetet generálja:

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

Kimenet:

Python véletlenszerű randrange()

Néhány egyéb funkciója Python véletlen modul amelyek véletlenszerű számok generálására szolgálnak:

    választás() randint() minta() fajta()

random.choice()

Piton véletlen modul rendelkezik a választás() függvény egy véletlenszerű elem kiválasztására szolgál egy listából vagy más sorozatból. A random.choice() A függvény egy véletlenszerű elemet ad vissza az értéklistából.

A ramdom.choice() szintaxisa

 random.choice(sequence) 

vagy

 random.choices(sequence, k=l) 

Itt a paraméter sorrend lehet string, lista, sor és random.choice() csak egyetlen véletlenszerű elem.

Ban,-ben random.choices() funkció k a visszaküldendő elemek száma. Tegyük fel, hogy nem említjük meg az értékét k paraméter a random.choices() egyetlen elemet ad vissza a sorozatból vagy listából.

1. példa:

Ebben a példában a sorozatot (listát) adjuk meg paraméterként, és egyetlen véletlenszerű elemet adunk vissza.

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

Kimenet:

 random item from list is: 10 

2. példa:

A random.choices() függvényt leggyakrabban véletlenszerű elemek visszaadására használják különféle lehetőségekkel. Ez a függvény a véletlenszerű választások számát is figyelembe veszi (k). Például 3 véletlenszerű film nevét szeretnénk kinyomtatni az 5 filmet tartalmazó listából.

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

Kimenet:

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

random.randint()

Piton random.randint() függvény egy véletlenszerű egész szám generálására szolgál a megadott tartományon belül.

Szintaxis:

 random.randint(start, stop) 

A random.randint() függvény két paramétert vesz fel Rajt , ami egy kezdő tartomány, és állj meg , ami egy végtartomány. Mindkét paraméter (start, stop) szerepel a véletlen szám generálásakor.

Példa arra, hogy a random.randint() véletlenszerű egész számok listáját generálja

Ez a példa több véletlenszerű egész számot tartalmazó listát hoz létre a randint() függvény használatával. Egy 1 és 100 közötti véletlenszerű egész számból álló lista létrehozása mindkét értéket magában foglalja.

 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) 

Kimenet:

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

Lehetséges azonban, hogy a random.randint() függvény ismétlődő számot ad vissza a kimeneti eredményben. A véletlenszerű egész szám ismétlődésének elkerülése érdekében az eredményben használja a véletlenszerű példa() funkció.

véletlenszerű példa()

A fenti példában fennáll annak a lehetősége random.randint() generálja a duplikált véletlenszámot a listából. Ha egyedi véletlen számokat szeretne generálni egy listából, használja a véletlenszerű példa() funkció.

A véletlenszerű példa() függvény egyedi elemeket állít elő halmazból, listából és egyéb sorozatokból. A Python random.sample() függvénye lehetővé teszi egynél több elem véletlenszerű mintavételét a listából egy tartományon belül duplikálás nélkül.

Példa egy random.sample()-ra, amellyel véletlenszerű elemeket generálhat egy listából ismétlődések nélkül:

Ebben a példában 10 véletlenszerű egész számot generálunk 0 és 100 között.

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

Kimenet:

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

Ha véletlen számok listáját szeretné létrehozni, és mindegyiknek 'n' többszörösének kell lennie, akkor használja a range() függvény lépésparaméterét.

Például 10 véletlenszerű egész szám generálása, amelyek 5 többszörösei a 0 és 100 közötti tartományban a random.sample(tartomány(0, 100, 5), 10 használatával).

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

Kimenet:

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

Lista rendezés()

A Python fajta() függvény a lista véletlenszerű egész számainak növekvő sorrendbe rendezésére szolgál (alapértelmezés szerint). A lista értékét a sorrend megadásával csökkenő sorrendbe is rendezhetjük fordított = igaz . Az alapértelmezett értéke fordított van Hamis .

1. példa: sort() listaelemek rendezése növekvő sorrendben

Ebben a példában 5 számból álló véletlenszerű listát generálunk 50 és 100 közötti tartományban 5 szélességben, és sorba rendezzük őket fajta() funkció.

 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) 

Kimenet:

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

2. példa: sort() listaelemek rendezése csökkenő sorrendben

Ebben a példában a listaelemeket csökkenő sorrendbe rendezzük a használatával 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) 

Kimenet:

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