Python random randrange() ja randint() tuottamaan satunnainen kokonaisluku alueella
tässä artikkelissa nähdään, miten Python random.randrange()
ja random.randint()
funktiot tuottavat satunnaisluvun. Käyttämällä randrange()
ja randint()
satunnaismoduulin funktioita voimme tuottaa satunnaisluvun vaihteluvälin sisällä. Esimerkiksi, haluat luoda satunnainen kokonaisluku numero välillä 0-9, sitten voit käyttää näitä toimintoja.
tämän oppitunnin tavoitteet. Tällä oppitunnilla opit:
- luo satunnaisluku vaihteluvälin sisällä käyttäen
randrange()
jarandint()
- luo satunnaisluku, jonka ominaispituus on vain
- luo satunnaisluku n: n kerrannainen
- Luo luettelo satunnaisista kokonaisluvuista
- Luo turvallinen satunnaisluku
- luo satunnainen moniulotteinen joukko satunnaisia kokonaislukuja
jatkoluku
- ratkaise python random data Generation-harjoitus ja random data Generation-tietokilpailu
- myös, Lue Satunnaisdatan kanssa työskentely Pythonissa (Täydellinen opas)
miten satunnaista käytetään.randint ()
syntaksi:
random.randint(start, stop)
tämä funktio Palauttaa satunnaisluvun vaihteluvälin sisällä. Tämä toiminto kestää kaksi parametria. Molemmat ovat pakollisia. Esimerkiksi random.randint(0, 100)
palauttaa minkä tahansa satunnaisluvun väliltä 0-100.
randint(start, stop)
sisältää sekä aloitus-että pysäytysnumerot samalla kun saadaan satunnaisluku. Se luo satunnaisluvun inklusiivisesta alueesta.
satunnainen.randint () examples of generating random integers
Output:
Random integer from 0 to 9Random integer: 5Random integer from 10 to 100Random integer: 89
Huom: randint()
. Se nostaa ValueError: non-integer arg 1
, jos käytetään muita arvoja kuin kokonaislukua.
Katso tätä ohjetta luodaksesi satunnaisen kelluntaluvun vaihteluvälin sisällä.
miten satunnaista.randrange ()
katsotaan syntaksi ensin
random.randrange(start, stop)
tämä funktio palauttaa satunnaisesti valitun kokonaisluvun range(start, stop, step)
. Tämä toiminto vaatii kolme parametria. Kolmesta parametrista kaksi on valinnaisia. toisin sanoen start
ja step
ovat valinnaisia parametreja.
-
start
argumentti on satunnaisalueen alkuluku. eli alaraja.start
oletusarvo on 0, jos sitä ei ole määritelty. -
stop
argumentti on satunnaisalueen viimeinen luku.stop
argumentti on yläraja. -
step
on jokaisen järjestysnumeron erotus. Vaihe on valinnainen parametrit.step
oletusarvo on 1, jos sitä ei ole määritelty.
satunnainen.randrange () esimerkkejä tuottaa satunnaisia kokonaislukuja alueella
tässä seuraavassa esimerkissä yritämme tulostaa satunnainen int tietyllä alueella. Tämä esimerkki osoittaa kaikki muunnokset random.randrange()
funktio.
Lähtö:
Generate random number within a given range in Python Random integer: 7Random integer: 22Random integer: 180
Huom: float-arvoa randrange()
ei voi käyttää. Se nostaa ValueError: non-integer arg 1 for randrange()
, jos käytetään muita arvoja kuin kokonaislukua.
luo tietyn pituuden satunnaisluku
Mitä jos haluat luoda satunnaisluvun pituuden n
? Esimerkiksi, haluat luoda satunnainen määrä pituus 4. Katsotaan esimerkki, jolla saadaan pituuden 4 satunnaisluku käyttämällä random.randrange()
.
Lähtö:
First random number of length 4 is 1931Second random number of length 4 is 5715
Huom: kuten näette, asetamme alun arvoon 1000 ja lopetamme arvoon 10000, koska haluamme tuottaa satunnaisluvun pituus 4 (1000: sta 9999: ään).
luo satunnaisluku n
tässä esimerkissä muodostetaan satunnaisluku X: n ja y: n välille, joka on 3: n kerrannainen kuten 3, 6, 39, 66.
import randomnum = random.randrange(3, 300, 3)print("Random number multiple of 3 is ", num)
Output:
Random number multiple of 3 is 264
generoi satunnainen negatiivinen kokonaisluku
katsotaan, miten saadaan satunnaisnegatiivinen kokonaisluku välille -60–6.
import randomsingedInt = random.randrange(-60, -6)print("Random negative integer between -60 to -6")print(singedInt)
Output:
Random negative integer between -60 to -6-49
generoi satunnaisesti positiivinen tai negatiivinen kokonaisluku
import randomnum = random.randint(-10, 10)print(num)
satunnaisesti 1 tai -1
import randomnum = random.choice()print(num)
huomautus: käytimme randomia.valinta (), jolla valitaan yksi numero numeroluettelosta. Tässä listamme on
Luo lista satunnaisluvuista
tässä osiossa katsotaan, miten saadaan luotua useita satunnaislukuja. Joskus tarvitsemme näyteluettelon testauksen tai minkä tahansa toimenpiteen suorittamiseksi. Tällöin sen sijaan, että sitä luotaisiin manuaalisesti, voidaan luoda lista satunnaisilla kokonaisluvuilla käyttäen randint()
tai randrange()
. Tässä esimerkissä näemme, miten luoda luettelo 10 satunnaista kokonaislukua.
Tuotos:
Printing list of 10 random numbers
tässä esimerkissä on mahdollisuus saada päällekkäinen numero luetteloon
Luo luettelo satunnaisluvuista ilman päällekkäisyyksiä
yllä olevassa esimerkissä on mahdollisuus saada päällekkäinen satunnaisluku luetteloon. Jos haluat varmistaa, että jokainen numero luettelossa on ainutlaatuinen, on yksinkertainen tapa luoda luettelo ainutlaatuisista satunnaislukuista. Käyttämällä satunnaista.näyte () voimme luoda luettelon ainutlaatuisia satunnaislukuja.
-
random.sample()
palauttaa otosluettelon valituista satunnaisluvuista arvojen rajoissa. - se ei koskaan toista elementtiä, joten saamme listan satunnaisluvuista ilman päällekkäisyyksiä
katsotaan, miten saadaan 10 satunnaista kokonaislukua alueelta 0-1000.
Lähtö:
Jos haluat jokaisen n
, käytä step
parametri range()
funktio. Esimerkiksi haluat listan 10 satunnaisluvusta, mutta jokaisen listan kokonaisluvun on oltava kerrannainen 5 sitten Käytä random.sample(range(0, 1000, 5), 10)
Lue lisää: random.näyte()
Järjestä satunnaislukujen luettelo
Jos haluat lajitella luettelon satunnaisista kokonaisluvuista nousevaan järjestykseen, käytä sort()
funktio
Lähtö:
Before sorting random integers listAfter sorting random integers list
Luo turvallinen satunnaisluku
ennen kaikkea esimerkit eivät ole Kryptografisesti turvallisia. Kryptografisesti turvallinen satunnaisgeneraattori luo satunnaislukuja synkronointimenetelmillä sen varmistamiseksi, ettei kahta prosessia voi saada samaa numeroa samanaikaisesti. Jos tuotat satunnaislukuja tietoturvaherkälle sovellukselle, sinun on käytettävä tätä lähestymistapaa.
Jos käytät Python-versiota alle 3.6 ja haluat luoda Kryptografisesti turvallisen satunnaisluvun, käytä random.SystemRandom().randint()
tai random.SystemRandom().randrange()
funktioita. Katso kuinka turvata satunnaiset tiedot Pythonissa.
esimerkki:
ulostulo:
Secure random integer is 30Secure random integer is 162
Jos käytät Python-versiota, joka on korkeampi kuin 3.6, voit käyttää secrets-moduulia luodaksesi turvallisen satunnaisluvun.
import secretsprint("Random integer generated using secrets module is ")# from 0 to 10secureNum1 = secrets.randbelow(10)print(secureNum1)
Output:
Random integer generated using secrets module is 8
- turvallinen satunnainen tieto Pythonilla.
- Pythonin salaisuuksien moduuli
Luo satunnainen moniulotteinen joukko satunnaisia kokonaislukuja
Pythonin NumPy-moduulilla on numpy.random
paketti satunnaisen datan tuottamiseksi. Luodaksemme satunnaisen moniulotteisen kokonaislukujen joukon tietyllä alueella, voimme käyttää seuraavia NumPy-menetelmiä:
nyt, katsotaan esimerkki.
Generate a 4 x 4 array of ints between 10 and 50, exclusive:
Output:
4 x 4 array of ints between 10 and 20 inclusive ]
Generate a 5 x 3 array of ints between 60 and 100, inclusive:
Output:
3 x 5 array of ints between 10 and 20 exclusive ]
Points to remember about randint() ja randrange()
- käytä
randint()
, kun haluat luoda satunnaisluvun inklusiiviselta alueelta. - käytä
randrange()
, kun haluat luoda satunnaisluvun alueen sisällä määrittämällä askelarvo. Se tuottaa satunnaisluvun eksklusiiviselta alueelta.
kannattaa olla tietoinen joistakin randrange()
funktion arvorajoituksista.
-
randint(
) randrandrange()
toimii vain kokonaislukujen kanssa. Et voi käyttää kelluvia numeroita. - Jos käytät liukulukuja, se nostaa
ValueError: non-integer arg 1 for randrange()
. Katso tätä artikkelia luodaksesi satunnaisen liukuluvun alueen sisällä. - askel ei saa olla 0. Jos se on asetettu arvoon 0, saat
ValueError: zero step for randrange()
alku ei saa olla suurempi kuin stop, jos käytät kaikkia positiivisia lukuja. Jos virheellisesti asetat start-arvon suuremmaksi kuin stop, saat ValueError: empty range for randrange()
import randomprint(random.randrange(100, 10, 2))
Lähtö:
ValueError: empty range for randrange()
, mutta voit myös asettaa start-arvon suuremmaksi kuin stop, jos käytät negatiivista step-arvoa.
import randomprint(random.randrange(100, 10, -2))
Lähtö:
60
So What Do You Think?
i want to hear from you. Mitä mieltä olet tästä randint()
ja randrange()
? Tai ehkä missasin jommankumman niistä kahdesta tehtävästä. Joka tapauksessa, kerro minulle jättämällä kommentti alla.
yritä myös ratkaista seuraava harjoitus ja tietokilpailu, jotta saat paremman käsityksen satunnaisen datan kanssa työskentelystä Pythonissa.
- Python random data generation Exercise to practice and master the random data generation techniques in Python.
- Python random data generation Quiz testaa satunnaisen datan generoinnin käsitteitä.
Leave a Reply