Articles

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() ja randint()
  • 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() rand randrange() 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ä.