Articles

te krijgen Python random randrange () en randint () om willekeurig geheel getal binnen een bereik

te genereren in dit artikel zullen we zien hoe Python random.randrange() en random.randint() functies gebruikt worden om een willekeurig getal te genereren. Met behulp van randrange() en randint() functies van een willekeurige module kunnen we een willekeurig geheel getal binnen een bereik genereren. U wilt bijvoorbeeld een willekeurig geheel getal tussen 0 en 9 genereren, dan kunt u deze functies gebruiken.

doelen van deze les. In deze les leer je hoe je:

  • het Genereren van een willekeurig geheel getal binnen een bereik met randrange() en randint()
  • het Genereren van willekeurige geheel getal met de specifieke lengte alleen
  • het Genereren van een willekeurig geheel getal n-voud
  • Maak een lijst van willekeurige getallen
  • Het genereren van een veilig willekeurig geheel getal
  • Maken van een willekeurige multidimensionale array van willekeurige gehele getallen

Verder lezen

  • het Oplossen van de Python Willekeurige Gegevens Generatie Oefening en Willekeurige Gegevens Generatie Quiz
  • Ook, lezen werken met willekeurige gegevens in Python (Complete Guide)

hoe willekeurig te gebruiken.gebruik:

random.randint(start, stop)

Deze functie geeft een willekeurig geheel getal binnen een bereik terug. Deze functie neemt twee parameters. Beide zijn verplicht. Bijvoorbeeld, random.randint(0, 100) zal elk willekeurig getal tussen 0 en 100 retourneren.

de randint(start, stop) bevat zowel start-als stop-getallen tijdens het genereren van willekeurig geheel getal. Het genereert een willekeurig getal uit het inclusieve bereik.

willekeurig.randint() voorbeelden van het genereren van willekeurige gehele getallen

Output:

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

Opmerking: U kunt geen floatnummer gebruiken in randint(). Het zal een ValueError: non-integer arg 1 verhogen als u andere waarden dan een geheel getal gebruikt.
refereer naar deze gids om een willekeurig float nummer binnen een bereik te genereren.

hoe willekeurig te gebruiken.randrange ()

laten we eerst de syntaxis bekijken

random.randrange(start, stop)

Deze functie retourneert een willekeurig geselecteerd geheel getal uit range(start, stop, step). Deze functie neemt drie parameters. Van de drie parameters zijn er twee optioneel. dat wil zeggen dat start en step de optionele parameters zijn.

  • Hetstart argument is het startnummer in een willekeurig bereik. dat wil zeggen, ondergrens. De standaardwaarde van start is 0 indien niet gespecificeerd.
  • het argument stop is het laatste getal in een willekeurig bereik. het argument stop is de bovengrens.
  • de step is een verschil tussen elk getal in de reeks. De stap is optionele parameters. De standaardwaarde van step is 1 indien niet opgegeven.

willekeurig.randrange () voorbeelden van het genereren van willekeurige gehele getallen binnen een bereik

hier in het volgende voorbeeld proberen we een willekeurige Int in een gegeven bereik af te drukken. Dit voorbeeld toont alle varianten van random.randrange() functie.

uitvoer:

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

Opmerking: U kunt geen floatwaarde gebruiken randrange(). Het zal een ValueError: non-integer arg 1 for randrange() verhogen als u andere waarden dan een geheel getal gebruikt.

Genereer het willekeurige gehele getal van een specifieke lengte

Wat als u een willekeurig aantal lengte nwilt genereren? U wilt bijvoorbeeld een willekeurig nummer van lengte 4 genereren. Laat het voorbeeld zien om het willekeurige nummer van lengte 4 te genereren met random.randrange().

Output:

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

opmerking: zoals u kunt zien stellen we een start op 1000 en stop op 10000 omdat we het willekeurige aantal van lengte 4 (van 1000 tot 9999) willen genereren.

Genereer een willekeurig geheel getal veelvoud van n

In dit voorbeeld zullen we een willekeurig getal tussen x en y genereren, wat een veelvoud is van 3 zoals 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

Genereer een willekeurig negatief geheel getal

laten we eens kijken hoe een willekeurig negatief geheel getal tussen -60 en -6 wordt gegenereerd.

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

genereer willekeurig positief of negatief geheel getal

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

willekeurig genereer 1 of -1

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

Note: we gebruikten willekeurig.choice() om een enkel nummer uit de lijst met nummers te kiezen. Hier is onze lijst

Genereer een lijst met willekeurige gehele getallen

In deze sectie zullen we zien hoe u meerdere willekeurige getallen kunt genereren. Soms hebben we een voorbeeldlijst nodig om testen of een bewerking uit te voeren. In dit geval, in plaats van het handmatig aan te maken, kunnen we een lijst maken met willekeurige gehele getallen met randint() of randrange(). In dit voorbeeld zullen we zien hoe je een lijst van 10 willekeurige gehele getallen maakt.

uitvoer:

Printing list of 10 random numbers

In dit voorbeeld is er een kans om een duplicaatnummer in een lijst te krijgen

Maak een lijst met willekeurige getallen zonder duplicaten

in het bovenstaande voorbeeld is er een kans om een duplicaat willekeurig getal in een lijst te krijgen. Als u ervoor wilt zorgen dat elk nummer in de lijst uniek is, is er een eenvoudige manier om een lijst met unieke willekeurige getallen te genereren. Met behulp van willekeurig.sample () we kunnen een lijst met unieke willekeurige getallen maken.

  • De random.sample() geeft een gesamplede lijst van geselecteerde willekeurige getallen binnen een bereik van waarden.
  • het herhaalt nooit het element, zodat we een lijst van willekeurige getallen kunnen krijgen zonder duplicaten

laten we eens kijken hoe we 10 willekeurige gehele getallen kunnen genereren van bereik 0 tot 1000.

uitvoer:


Als u elk veelvoud van n wilt, gebruik dan de step parameter van range() functie. U wilt bijvoorbeeld een lijst met 10 willekeurige getallen, maar elk geheel getal in een lijst moet een veelvoud van 5 zijn, gebruik dan random.sample(range(0, 1000, 5), 10)

Lees meer: willekeurig.sample()

Sorteer willekeurige getallen lijst

Als u een lijst van willekeurige gehele getallen in oplopende volgorde wilt sorteren, gebruik dan de sort() functie

Output:

Before sorting random integers listAfter sorting random integers list

Genereer een veilig willekeurig geheel getal

boven alle voorbeelden niet cryptografisch beveiligd zijn. De Cryptografisch beveiligde random generator genereert willekeurige getallen met behulp van synchronisatiemethoden om ervoor te zorgen dat geen twee processen hetzelfde nummer op hetzelfde moment kunnen verkrijgen. Als u willekeurige getallen produceert voor een beveiligings-gevoelige toepassing, moet u deze aanpak gebruiken.

Als u Python versie minder dan 3.6 gebruikt en cryptografisch beveiligd willekeurig geheel getal wilt genereren, gebruik dan de random.SystemRandom().randint() of random.SystemRandom().randrange() functies. Refereer naar het beveiligen van willekeurige gegevens in Python.

voorbeeld:

uitvoer:

Secure random integer is 30Secure random integer is 162

Als u Python versie hoger dan 3.6 gebruikt, kunt u de secrets module gebruiken om een veilig willekeurig geheel getal te genereren.

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
  • beveiligde willekeurige gegevens in python.
  • Python secrets module

Maak een willekeurige multidimensionale array van willekeurige gehele getallen

Python ‘ s NumPy module heeft een numpy.random pakket om willekeurige gegevens te genereren. Om een willekeurige multidimensionale array van gehele getallen binnen een bepaald bereik te maken, kunnen we de volgende NumPy methoden gebruiken:

laat nu het voorbeeld zien.

Genereer een 4 x 4 array van ints tussen 10 en 50, exclusief:

Output:

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

Genereer een 5 x 3 array van ints tussen 60 en 100, inclusief:

Output:

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

punten om te onthouden over randint() en randrange()

  • gebruik randint() wanneer u een willekeurig getal wilt genereren uit een Inclusief bereik.
  • gebruik randrange() wanneer u een willekeurig getal binnen een bereik wilt genereren door stapwaarde op te geven. Het produceert een willekeurig getal uit een exclusief bereik.

u moet zich bewust zijn van enkele waardebeperkingen van een randrange() functie.

  • De randint() rand randrange() werkt alleen met gehele getallen. U kunt geen floatnummers gebruiken.
  • Als u floatnummers gebruikt, zal ValueError: non-integer arg 1 for randrange()worden verhoogd. Refereer naar dit artikel om een willekeurig float nummer tussen binnen een bereik te genereren.
  • de stap mag niet 0 zijn. Als het is ingesteld op 0, krijgt u een ValueError: zero step for randrange()

de start mag niet groter zijn dan stop als u alle positieve getallen gebruikt. Als u per ongeluk start groter dan stop hebt ingesteld, krijgt u een ValueError: empty range for randrange()

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

Output:

ValueError: empty range for randrange()

maar u kunt ook startwaarde groter dan stop instellen als u een negatieve stapwaarde gebruikt.

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

Output:

60

dus wat denk je?

Ik wil van u horen. Wat vindt u van dit artikel over randint() en randrange()? Of misschien miste ik een van de toepassingen van die twee functies. Hoe dan ook, laat het me weten door het verlaten van een reactie hieronder.

probeer ook de volgende oefening en quiz op te lossen om een beter inzicht te krijgen in het werken met willekeurige gegevens in Python.

  • Python random data generation oefening om de random data generation technieken in Python te oefenen en onder de knie te krijgen.
  • Python willekeurige data generatie Quiz om uw willekeurige data generatie concepten te testen.