logo

Python slučajni randrange()

Python slučajan modul omogućuje generiranje nasumičnih brojeva. Generirani brojevi su niz pseudoslučajnih brojeva, koji se temelje na korištenoj funkciji. Postoje različite vrste funkcija koje se koriste u nasumičnim modulima za generiranje nasumičnih brojeva, kao što su random.random(), random.randint(), random.choice(), random.randrange(start, stop, width) , i još mnogo toga.

Ovdje ćemo razgovarati o randrange() funkcija slučajan modul. The randrange() funkcija se koristi za generiranje slučajnog broja između navedenog raspona u svom parametru. Prihvaća tri parametra: početni broj, granični broj i širinu, koja se koristi za preskakanje broja u rasponu.

Sintaksa random.randrange()

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

The random.randrange() funkcija vraća nasumični cijeli broj unutar zadanog raspona, tj. početak i zaustavljanje. The random.randrange() funkcija uzima tri parametra kao ulaz početi, zaustaviti se , i širina . Od ova tri parametra, dva parametra početak i širina nisu obavezni.

  • The početak parametar je početni ili donji granični cijeli broj u slučajnom rasponu. Ako početni parametar nije proslijeđen u parametar, uzima zadanu vrijednost 0 (nula).
  • A Stop parametar je posljednji broj ili gornja granica cijelog broja u slučajnom rasponu.
  • The širina parametar je raspon između svakog broja u slučajnom nizu. Ovaj parametar nije obavezan, a ako parametar širine nije proslijeđen u parametru, uzima zadanu vrijednost 1 (jedan).

The raspon (početak, kraj, širina) funkcija ne uključuje krajnji parametar tijekom generiranja slučajnog cijelog broja. The Stop parametar je ekskluzivan , i ne generira se u nasumičnom broju.

Pogledajte ovu funkciju random.randrange(3, 30, 3) koja će generirati bilo koju slučajnu vrijednost cijelog broja između 3 do 30, poput 3, 6, 9, 12, …27. Ali ova funkcija nikada ne uključuje 30 dok generira nasumični broj.

Generiranje slučajnog odabira u aplikaciji oduvijek je bilo važno i ima nekoliko primjena u stvarnom vremenu u svakodnevnom životu. Na primjer, generiranje i slanje nasumičnog broja kupcu kao OTP (jednokratna lozinka) za sigurnu transakciju. Drugi primjer generiranja nasumičnog broja koristi se tijekom igranja ludo igre za generiranje nasumičnog broja kocke.

Primjeri 1: random.randrange() generira nasumične cijele brojeve unutar zadanog raspona

Pogledajmo primjer u kojem generiramo nasumični cijeli broj unutar zadanog raspona. Ovaj primjer pokazuje sve različite oblike funkcije 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) 

Izlaz:

Python slučajni randrange()

Primjer 2: Generirajte slučajni niz cijelih brojeva (višestrukih) od n

Generirajmo nasumični cijeli broj između 5 i 100, što je raspon od 5, kao što su 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) 

Izlaz:

Python slučajni randrange()

Primjer 3: Generirajte slučajni cijeli broj određene duljine

Također možete generirati nasumični cijeli broj određene duljine. Ako želite generirati nasumični broj duljine 3, unesite početak i Stop parametar u randrange() funkcionira kao najmanji broj od 3 znamenke (100) i najmanji broj od 4 znamenke (1000) jer generira nasumični broj od 3 znamenke od 100 do 999 gdje su 4 znamenke (1000) isključene.

Primjer: Generirajte nasumični broj od 3 znamenke koristeći 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) 

Izlaz:

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

Primjer 4: Generirajte nasumični negativni cijeli broj:

Pogledajmo primjer koji generira nasumični negativni cijeli broj između -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) 

Izlaz:

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

Primjer 5: Generirajte nasumični pozitivni ili negativni cijeli broj

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

Izlaz:

 -5 0 

Imajte na umu da je parametar početak i Stop , koji je proslijeđen random.randrange() funkcija mora biti u rastućem redoslijedu, kao što je random.randrange(5, 10) ili random.randrange(-20, -10) . The početak parametar uvijek biti manji od Stop parametar; inače ova funkcija generira pogrešku kao 'Traceback (posljednji zadnji poziv) i podizanje praznog raspona ValueError za randrange()' .

Na primjer:

Pogledajte ovaj primjer u kojem kršimo pravilo donošenjem početak parametar veći od Stop parametar u random.randrange() funkcija koja generira poruku o pogrešci kao:

konstruktori u Javi
 import random randomNumber = random.randrange(10,5) 

Izlaz:

Python slučajni randrange()

Neke od drugih funkcija Pythonova slučajan modul koji se koriste za nasumično generiranje brojeva su:

    izbor() randint() uzorak() vrsta()

random.choice()

Piton slučajan modul ima a izbor() funkcija koja se koristi za odabir slučajnog elementa s popisa ili drugog niza. A random.choice() funkcija se koristi za vraćanje slučajnog elementa s popisa vrijednosti.

Sintaksa ramdom.choice()

 random.choice(sequence) 

ili

 random.choices(sequence, k=l) 

Ovdje je parametar slijed može biti niz, popis, tuple i random.choice() samo jedan slučajni element.

u random.choices() funkcija k je broj elemenata koje treba vratiti. Pretpostavimo da ne spominjemo vrijednost za k parametar the random.choices() vraća jednu stavku iz niza ili popisa.

Primjer 1:

U ovom primjeru pružamo niz (popis) kao parametar i vraćamo jedan nasumični element.

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

Izlaz:

 random item from list is: 10 

Primjer 2:

Funkcija random.choices() uglavnom se koristi za vraćanje nasumičnih elemenata s različitim mogućnostima. Ova funkcija također uzima težinu (k) broja slučajnih izbora. Na primjer, želimo ispisati 3 nasumična imena filmova s ​​popisa od 5 filmova.

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

Izlaz:

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

random.randint()

Piton random.randint() funkcija se koristi za generiranje slučajnog cijelog broja unutar navedenog raspona.

Sintaksa:

 random.randint(start, stop) 

The random.randint() funkcija ima dva parametra početak , što je početni raspon, i Stop , što je krajnji raspon. Oba parametra (start, stop) uključena su prilikom generiranja slučajnog broja.

Primjer random.randint() koji generira popis slučajnih cijelih brojeva

Ovaj primjer će stvoriti popis više slučajnih cijelih brojeva pomoću funkcije randint(). Generiranje popisa od 5 nasumičnih cijelih brojeva između 1 i 100, obje su vrijednosti uključive.

 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) 

Izlaz:

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

Međutim, možda postoji mogućnost da random.randint() funkcija vraća dvostruki broj u izlaznom rezultatu. Kako biste izbjegli dvostruki slučajni cijeli broj u rezultatu, koristite nasumični uzorak() funkcija.

nasumični uzorak()

U gornjem primjeru može postojati mogućnost da random.randint() generira dupli nasumični broj s popisa. Ako želite generirati jedinstvene nasumične brojeve s popisa, upotrijebite nasumični uzorak() funkcija.

The nasumični uzorak() funkcija generira jedinstvene elemente iz skupa, popisa i drugih nizova. Pythonova funkcija random.sample() omogućuje nasumično uzorkovanje više od jednog elementa unutar raspona s popisa bez dupliciranja.

Primjer random.sample() za generiranje nasumičnih elemenata s popisa bez duplikata:

U ovom primjeru ćemo generirati 10 nasumičnih cijelih brojeva u rasponu od 0 do 100.

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

Izlaz:

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

Ako želite generirati popis nasumičnih brojeva i svaki od njih mora biti višekratnik 'n', tada upotrijebite parametar step funkcije range().

Na primjer, generiranje 10 nasumičnih cijelih brojeva koji su višekratnici broja 5 iz raspona od 0 do 100 pomoću 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) 

Izlaz:

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

Poredaj popisom()

Python vrsta() funkcija se koristi za sortiranje nasumičnih cijelih brojeva na popisu uzlaznim redoslijedom (prema zadanim postavkama). Također možemo sortirati vrijednost popisa silaznim redoslijedom određivanjem njenog redoslijeda obrnuto = Istina . Zadana vrijednost od obrnuti je lažno .

Primjer 1: sort() sortira elemente popisa uzlaznim redoslijedom

U ovom ćemo primjeru generirati nasumični popis od 5 brojeva u rasponu od 50 do 100 širine 5 i sortirati ih pomoću vrsta() funkcija.

 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) 

Izlaz:

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

Primjer 2: sort() sortira elemente popisa silaznim redoslijedom

U ovom ćemo primjeru poredati elemente popisa silaznim redoslijedom pomoću 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) 

Izlaz:

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