logo

Python izlases diapazons()

Python nejauši modulis ļauj ģenerēt nejaušus skaitļus. Ģenerētie skaitļi ir pseidogadījuma skaitļu secība, kuras pamatā ir izmantotā funkcija. Nejaušu skaitļu ģenerēšanai izlases modulī tiek izmantotas dažāda veida funkcijas, piemēram, random.random(), random.randint(), random.choice(), random.randrange(sākums, beigas, platums) , un vēl daudz vairāk.

Šeit mēs apspriedīsim randrange () funkcija nejauši modulis. The Randrange () funkcija tiek izmantota, lai ģenerētu nejaušu skaitli starp tās parametrā norādīto diapazonu. Tas pieņem trīs parametrus: sākuma numuru, pieturas numuru un platumu, ko izmanto, lai izlaistu skaitli diapazonā.

Sintakse random.randrange()

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

The random.randrange() funkcija atgriež nejaušu veselu skaitli dotajā diapazonā, t.i., sākums un beigas. The random.randrange() funkcija izmanto trīs parametrus kā ievadi sākt, apstāties , un platums . No šiem trim parametriem divi parametri sākt un platums nav obligāti.

  • The sākt parametrs ir sākuma vai apakšējās robežas vesels skaitlis nejaušā diapazonā. Ja sākuma parametrs netiek nodots parametrā, tas izmanto noklusējuma vērtību 0 (nulle).
  • A stop parametrs ir pēdējais skaitlis vai augšējās robežas veselais skaitlis nejaušā diapazonā.
  • The platums parametrs ir diapazons starp katru skaitli nejaušā secībā. Šis parametrs nav obligāts, un, ja parametrā platuma parametrs netiek nodots, tam tiek izmantota noklusējuma vērtība 1 (viens).

The diapazons (sākums, beigas, platums) funkcija neietver beigu parametru, ģenerējot nejaušu veselu skaitļu. The stop parametrs ir ekskluzīvs , un tas netiek ģenerēts nejaušā skaitā.

Apskatiet šo funkciju random.randrange(3, 30, 3), kas ģenerēs jebkuru nejauša vesela skaitļa vērtību no 3 līdz 30, piemēram, 3, 6, 9, 12, ...27. Taču šī funkcija nekad neietver 30, ģenerējot nejaušu skaitli.

Nejaušības ģenerēšana lietojumprogrammā vienmēr ir bijusi svarīga, un ikdienas dzīvē to var izmantot vairākas reizes reāllaikā. Piemēram, nejauša skaitļa ģenerēšana un nosūtīšana klientam kā OTP (vienreizēja parole) droša darījuma veikšanai. Vēl viens izlases skaitļa ģenerēšanas piemērs tiek izmantots, spēlējot ludo spēli, lai ģenerētu nejaušu kauliņu numuru.

1. piemēri: random.randrange() ģenerē nejaušu veselu skaitļu skaitu dotajā diapazonā

Apskatīsim piemēru, kurā mēs ģenerējam nejaušu veselu skaitli noteiktā diapazonā. Šajā piemērā parādītas visas dažādas funkcijas random.randrange() formas.

 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) 

Izvade:

Python izlases diapazons()

2. piemērs: ģenerējiet nejaušu veselu skaitļu diapazonu (vairākkārtēju) no n

Ģenerēsim nejaušu veselu skaitli no 5 līdz 100, kas ir diapazons no 5, piemēram, 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) 

Izvade:

Python izlases diapazons()

3. piemērs: ģenerējiet noteikta garuma nejaušu veselu skaitļu

Varat arī ģenerēt noteikta garuma nejaušu veselu skaitļu. Ja vēlaties ģenerēt nejaušu skaitli, kura garums ir 3, ievadiet sākt un stop parametrs iekšā Randrange () darbojas kā mazākais 3 ciparu garuma skaitlis (100) un mazākais 4 ciparu garuma skaitlis (1000), jo tas ģenerē nejaušu 3 ciparu skaitli no 100 līdz 999, kur 4 cipari (1000) ir izslēgti.

Piemērs: ģenerējiet nejaušu 3 ciparu skaitli, izmantojot 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) 

Izvade:

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

4. piemērs: ģenerējiet nejaušu negatīvu veselu skaitli:

Apskatīsim piemēru, kas ģenerē nejaušu negatīvu veselu skaitli no -50 līdz -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) 

Izvade:

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

5. piemērs: ģenerējiet nejaušu pozitīvu vai negatīvu veselu skaitli

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

Izvade:

 -5 0 

Ņemiet vērā, ka parametrs sākt un stop , kas tiek nodots iekšā random.randrange() funkcijai jābūt pieaugošā secībā, piemēram random.randrange(5, 10) vai random.randrange(-20, -10) . The sākt parametrs vienmēr ir mazāks par stop parametrs; pretējā gadījumā šī funkcija ģenerē kļūdu kā Traceback (pēdējais zvans) un paaugstiniet ValueError tukšo diapazonu randrange() .

Piemēram:

Apskatiet šo piemēru, kurā mēs pārkāpjam noteikumu, izturot sākt parametrs ir lielāks par stop parametrs iekšā random.randrange() funkcija, kas ģenerē kļūdas ziņojumu kā:

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

Izvade:

Python izlases diapazons()

Dažas citas funkcijas Python's nejauši modulis ko izmanto, lai nejauši ģenerētu skaitļus, ir:

    izvēle() randint () paraugs () kārtot ()

random.choice()

Python nejauši modulim ir a izvēle() funkcija, ko izmanto, lai izvēlētos nejaušu elementu no saraksta vai citas secības. A random.choice() funkcija tiek izmantota, lai atgrieztu nejaušu elementu no vērtību saraksta.

Ramdom.choice() sintakse

 random.choice(sequence) 

vai

 random.choices(sequence, k=l) 

Šeit parametrs secība var būt virkne, saraksts, virkne un random.choice() tikai viens nejaušs elements.

Iekš random.choices() funkciju k ir atgriežamo elementu skaits. Pieņemsim, ka mēs neminam vērtību k parametrs random.choices() atgriež vienu vienumu no secības vai saraksta.

1. piemērs:

Šajā piemērā mēs nodrošinām secību (sarakstu) kā parametru un atgriežam vienu nejaušu elementu.

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

Izvade:

 random item from list is: 10 

2. piemērs:

Funkciju random.choices() galvenokārt izmanto nejaušu elementu atgriešanai ar dažādām iespējām. Šī funkcija arī ņem svaru (k) nejaušo izvēļu skaitu. Piemēram, mēs vēlamies izdrukāt 3 izlases filmu nosaukumus no 5 filmu saraksta.

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

Izvade:

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

random.randint()

Python random.randint() funkcija tiek izmantota, lai ģenerētu nejaušu veselu skaitli norādītajā diapazonā.

Sintakse:

 random.randint(start, stop) 

The random.randint() funkcijai nepieciešami divi parametri sākt , kas ir sākuma diapazons, un stop , kas ir gala diapazons. Abi parametri (sākt, beigt) ir iekļauti, ģenerējot nejaušu skaitli.

Piemērs random.randint(), kas ģenerē nejaušu veselu skaitļu sarakstu

Šajā piemērā tiks izveidots vairāku nejaušu veselu skaitļu saraksts, izmantojot funkciju randint(). Izveidojot sarakstu ar 5 nejaušiem veseliem skaitļiem no 1 līdz 100, tiek iekļautas abas vērtības.

 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) 

Izvade:

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

Tomēr var būt iespēja, ka nejaušība.randint() funkcija izvades rezultātā atgriež dublikātu. Lai izvairītos no nejauša vesela skaitļa dublikāta rezultātā, izmantojiet random.sample() funkcija.

random.sample()

Iepriekš minētajā piemērā var būt iespēja, ka random.randint() ģenerē nejaušā skaitļa dublikātu no saraksta. Ja vēlaties ģenerēt unikālus nejaušus skaitļus no saraksta, izmantojiet random.sample() funkcija.

The random.sample() funkcija ģenerē unikālus elementus no kopas, saraksta un citām secībām. Python funkcija random.sample() ļauj izlases veidā atlasīt vairāk nekā vienu elementu diapazonā no saraksta bez dublēšanas.

Random.sample() piemērs, lai ģenerētu nejaušus elementus no saraksta bez dublikātiem:

Šajā piemērā mēs ģenerēsim 10 nejaušus veselus skaitļus diapazonā no 0 līdz 100.

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

Izvade:

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

Ja vēlaties ģenerēt nejaušu skaitļu sarakstu un katram no tiem ir jābūt 'n' daudzkārtņiem, izmantojiet funkcijas diapazona() soļa parametru.

Piemēram, ģenerējot 10 nejaušus veselus skaitļus, kas ir reizināti ar 5 no diapazona no 0 līdz 100, izmantojot 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) 

Izvade:

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

Saraksta kārtošana()

Python kārtot () funkcija tiek izmantota, lai sakārtotu saraksta nejaušos veselos skaitļus augošā secībā (pēc noklusējuma). Mēs varam arī sakārtot saraksta vērtību dilstošā secībā, norādot tās secību reverss = patiess . Noklusējuma vērtība otrādi ir Nepatiesi .

1. piemērs: sort() šķirošanas saraksta elementi augošā secībā

Šajā piemērā mēs izveidosim nejaušu sarakstu ar 5 skaitļiem diapazonā no 50 līdz 100 ar platumu 5 un sakārtosim tos, izmantojot kārtot () 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) 

Izvade:

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

2. piemērs: sort() šķirošanas saraksta elementi dilstošā secībā

Šajā piemērā mēs sakārtosim saraksta elementus dilstošā secībā, izmantojot 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) 

Izvade:

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