Articles

Python randrange() Og randint () for å generere tilfeldig heltall i et område

i denne artikkelen vil vi se hvordan Du bruker Pythonrandom.randrange() ograndom.randint() funksjoner for å generere et tilfeldig tall. Ved å bruke randrange() og randint() funksjoner i en tilfeldig modul kan vi generere et tilfeldig heltall innenfor et område. For eksempel vil du generere et tilfeldig heltall mellom 0 og 9, så kan du bruke disse funksjonene.

Mål for denne leksjonen. I denne leksjonen lærer du hvordan du:

  • Generer et tilfeldig heltall innenfor et område ved hjelp avrandrange() ograndint()
  • Generer et tilfeldig heltall tall med den spesifikke lengden bare
  • Generer et tilfeldig heltall tall multiplum av n
  • Lag en liste over tilfeldige heltall
  • Generer et sikkert tilfeldig heltall
  • lag et tilfeldig Flerdimensjonalt utvalg av tilfeldige heltall

videre lesing

  • løs python random Data generation exercise og random data generation quiz
  • også, les Arbeider med tilfeldige data I Python (Komplett Guide)

slik bruker du tilfeldig.randint ()

Syntaks:

random.randint(start, stop)

denne funksjonen returnerer et tilfeldig heltall innenfor et område. Denne funksjonen tar to parametere. Begge er obligatoriske. For eksempel vilrandom.randint(0, 100) returnere et tilfeldig tall mellom 0 til 100.

randint(start, stop) inkluderer både start-og stoppnumre mens du genererer tilfeldig heltall. Det vil generere et tilfeldig tall fra inkluderende rekkevidde.

tilfeldig.randint () eksempler på generering av tilfeldige heltall

Utgang:

Random integer from 0 to 9Random integer: 5Random integer from 10 to 100Random integer: 89

Merk: du kan ikke bruke flytnummer i randint(). Det vil heve en ValueError: non-integer arg 1 hvis du bruker andre verdier enn et heltall.
Se denne veiledningen for å generere et tilfeldig flytnummer innenfor et område.

hvordan bruke tilfeldig.randrange ()

la oss se syntaksen først

random.randrange(start, stop)

denne funksjonen returnerer et tilfeldig valgt heltall fra range(start, stop, step). Denne funksjonen tar tre parametere. Av tre parametere er to parametere valgfrie. dvs. startog step er de valgfrie parameterne.

  • argumentetstart er startnummeret i et tilfeldig område. dvs. nedre grense. Standardverdien for start er 0 hvis ikke spesifisert.
  • argumentetstop er det siste tallet i et tilfeldig område. argumentetstop er den øvre grensen.
  • step er en forskjell mellom hvert tall i sekvensen. Trinnet er valgfrie parametere. Standardverdien for step er 1 hvis ikke angitt.

tilfeldig.randrange () Eksempler på å generere tilfeldige heltall innenfor et område

her i følgende eksempel prøver vi å skrive ut en tilfeldig int i et gitt område. Dette eksemplet viser alle varianter av random.randrange() – funksjonen.

Utgang:

Generate random number within a given range in Python Random integer: 7Random integer: 22Random integer: 180

Merk: du kan ikke bruke flytverdi randrange(). Det vil heve en ValueError: non-integer arg 1 for randrange() hvis du brukte andre verdier enn et heltall.

Generer det tilfeldige heltallet for en bestemt lengde

Hva om du vil generere et tilfeldig antall lengder n? For eksempel vil du generere et tilfeldig antall lengde 4. La se eksemplet for a generere tilfeldig antall lengde 4 ved hjelp av random.randrange().

Output:

First random number of length 4 is 1931Second random number of length 4 is 5715

Merk: som du kan se setter vi en start til 1000 og stopper til 10000 fordi vi vil generere tilfeldig antall lengde 4 (fra 1000 til 9999).

Generer et tilfeldig heltall tall multiplum av n

I dette eksemplet vil vi generere et tilfeldig tall mellom x og y, som er et multiplum av 3 som 3, 6, 39, 66.

import randomnum = random.randrange(3, 300, 3)print("Random number multiple of 3 is ", num)

Utgang:

Random number multiple of 3 is 264

Generer et tilfeldig negativt heltall

La oss se hvordan du genererer et tilfeldig negativt heltall mellom -60 til -6.

import randomsingedInt = random.randrange(-60, -6)print("Random negative integer between -60 to -6")print(singedInt)

Utgang:

Random negative integer between -60 to -6-49

Generer tilfeldig positivt eller negativt heltall

import randomnum = random.randint(-10, 10)print(num)

genererer Tilfeldig 1 Eller -1

import randomnum = random.choice()print(num)

merk: vi brukte tilfeldig.valg () for å velge et enkelt tall fra listen over tall. Her er vår liste

Generer en liste over tilfeldige tall

I denne delen ser vi hvordan du genererer flere tilfeldige tall. Noen ganger trenger vi en prøveliste for å utføre testing eller enhver operasjon. I dette tilfellet, i stedet for å lage det manuelt, kan vi lage en liste med tilfeldige heltall ved hjelp av randint() eller randrange(). I dette eksemplet vil vi se hvordan du lager en liste over 10 tilfeldige heltall.

Utgang:

Printing list of 10 random numbers

I dette eksemplet er det en sjanse til å få et duplikatnummer i en liste

Lag en liste over tilfeldige tall uten duplikater

i eksemplet ovenfor er det en sjanse til å få et duplikat tilfeldig tall i en liste. Hvis du vil sørge for at hvert nummer i listen er unikt, er det en enkel måte å generere en liste over unike tilfeldige tall. Bruke tilfeldig.eksempel () vi kan lage en liste over unike tilfeldige tall.

  • random.sample() returnerer en samplet liste over utvalgte tilfeldige tall innenfor et verdiområde.Det gjentar aldri elementet, slik at vi kan få en liste over tilfeldige tall uten duplikater

La oss se hvordan du genererer 10 tilfeldige heltall fra området 0 til 1000.

Utgang:


hvis du vil ha hvert tall flere av n, bruk step parameteren for range() – funksjonen. For eksempel vil du ha en liste med 10 tilfeldige tall, men hvert heltall i en liste må være flere av 5, og bruk random.sample(range(0, 1000, 5), 10)

les mer: tilfeldig.eksempel()

Sorter tilfeldige tallliste

Hvis du vil sortere en liste over tilfeldige heltall i stigende rekkefølge, bruk sort() funksjon

Utgang:

Before sorting random integers listAfter sorting random integers list

Generer et sikkert tilfeldig heltall

over alle eksempler er ikke kryptografisk sikre. Den kryptografisk sikre tilfeldige generatoren genererer tilfeldige tall ved hjelp av synkroniseringsmetoder for å sikre at ingen to prosesser kan oppnå samme nummer samtidig. Hvis du produserer tilfeldige tall for et sikkerhetsfølsomt program, må du bruke denne tilnærmingen.

hvis Du bruker Python versjon mindre enn 3.6, og ønsker å generere kryptografisk sikker tilfeldig heltall deretter bruke random.SystemRandom().randint() eller random.SystemRandom().randrange() funksjoner. Se hvordan du sikrer tilfeldige data i Python.

Eksempel:

Utgang:

Secure random integer is 30Secure random integer is 162

hvis Du bruker Python-versjon høyere enn 3.6, kan du bruke secrets-modulen til å generere et sikkert tilfeldig heltall.

import secretsprint("Random integer generated using secrets module is ")# from 0 to 10secureNum1 = secrets.randbelow(10)print(secureNum1)

Utdata:

Random integer generated using secrets module is 8
  • Sikre tilfeldige data i python.
  • Python secrets module

Lag et tilfeldig flerdimensjonalt utvalg av tilfeldige heltall

Pythons NumPy-modul har ennumpy.random pakke for å generere tilfeldige data. For å lage et tilfeldig flerdimensjonalt utvalg av heltall innenfor et gitt område, kan vi bruke følgende NumPy-metoder:

Nå, La oss se eksemplet.

Generer en 4 x 4 rekke ints mellom 10 og 50, eksklusiv:

Utgang:

4 x 4 array of ints between 10 and 20 inclusive ]

Generer en 5 x 3 rekke ints mellom 60 og 100, inkludert:

Utgang:

3 x 5 array of ints between 10 and 20 exclusive ]

Poeng å huske om randint() og randrange ()

  • brukrandint() når du vil generere et tilfeldig tall fra et inkluderende område.
  • Bruk randrange() når du vil generere et tilfeldig tall innenfor et område ved å angi trinnverdi. Den produserer et tilfeldig tall fra et eksklusivt utvalg.

du bør være klar over noen verdi begrensninger av enrandrange() funksjon.

  • randint() randrandrange() fungerer bare med heltall. Du kan ikke bruke flytnumre.
  • hvis du bruker float tall det vil heve ValueError: non-integer arg 1 for randrange(). Se denne artikkelen for å generere et tilfeldig flytnummer mellom innenfor et område.
  • trinnet må ikke være 0. Hvis den er satt til 0, vil du få en ValueError: zero step for randrange()

start bør ikke være større enn stopp hvis du bruker alle positive tall. Hvis du feilaktig angir start større enn stopp, får du en ValueError: empty range for randrange()

import randomprint(random.randrange(100, 10, 2))

Utgang:

ValueError: empty range for randrange()

men du kan også angi startverdi større enn stopp hvis du bruker negativ trinnverdi.

import randomprint(random.randrange(100, 10, -2))

Utgang:

60

Så Hva Synes du?

jeg vil høre fra deg. Hva synes du om denne artikkelen på randint() og randrange()? Eller kanskje jeg savnet en av bruksområdene til disse to funksjonene. Uansett, gi meg beskjed ved å legge igjen en kommentar nedenfor.

Prøv Også å løse følgende øvelse og quiz for å få bedre forståelse for å jobbe med tilfeldige data i Python.

  • Python tilfeldig data generasjon Øvelse for å øve og mestre tilfeldige data generasjon teknikker I Python.Python random data generation Quiz for å teste dine tilfeldige data generasjon konsepter.