Articles

Python randrange aleatoare () și randint () pentru a genera număr întreg aleatoare într-un interval

În acest articol, vom vedea cum să folosească Python random.randrange() și random.randint() funcții pentru a genera un număr aleatoriu. Folosindrandrange() șirandint() funcțiile unui modul aleatoriu putem genera un număr întreg aleatoriu într-un interval. De exemplu, doriți să generați un număr întreg aleatoriu între 0 și 9, Apoi puteți utiliza aceste funcții.

obiectivele acestei lecții. În această lecție, veți învăța cum să:

  • generați un număr întreg aleatoriu într-un interval folosind randrange() și randint()
  • generați numărul întreg aleatoriu cu lungimea specifică numai
  • generați un număr întreg aleatoriu multiplu de n
  • creați o listă de numere întregi aleatorii
  • generați un număr întreg aleatoriu
  • creați o matrice multidimensională aleatorie de numere întregi aleatorii

lectură suplimentară

  • rezolvați exercițiul de generare a datelor aleatorii Python și testul de generare a datelor aleatorii
  • De asemenea, citiți lucrul cu date aleatorii în Python (ghid complet)

cum se utilizează aleatoriu.randint ()

sintaxă:

random.randint(start, stop)

această funcție returnează un număr întreg aleatoriu într-un interval. Această funcție are doi parametri. Ambele sunt obligatorii. De exemplu, random.randint(0, 100) va returna orice număr aleatoriu între 0 și 100.

randint(start, stop) include atât numere de pornire, cât și de oprire în timp ce generează numere întregi aleatorii. Acesta va genera un număr aleatoriu din gama inclusiv.

aleatoriu.randint () Exemple de generare numere întregi aleatoare

ieșire:

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

Notă: Nu puteți utiliza numărul float în randint(). Se va ridica un ValueError: non-integer arg 1 dacă utilizați alte valori decât un număr întreg.
consultați acest ghid pentru a genera un număr aleatoriu float într-un interval.

cum să utilizați aleatoare.randrange ()

să vedem mai întâi sintaxa

random.randrange(start, stop)

această funcție returnează un număr întreg selectat aleatoriu dinrange(start, stop, step). Această funcție are trei parametri. Din trei parametri, doi parametri sunt opționali. adică,start șistep sunt parametrii opționali.

  • start argumentul este numărul de pornire într-un interval aleatoriu. adică, limita inferioară. Valoarea implicită a start este 0 dacă nu este specificat.
  • stop argumentul este ultimul număr dintr-un interval aleatoriu. argumentulstop este limita superioară.
  • step este o diferență între fiecare număr din secvență. Pasul este parametrii opționali. Valoarea implicită a step este 1 dacă nu este specificat.

aleatoriu.randrange () Exemple de generare a numerelor întregi aleatorii într-un interval

aici, în exemplul următor, încercăm să tipărim un int aleatoriu într-un interval dat. Acest exemplu demonstrează toate variantele funcțieirandom.randrange().

ieșire:

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

notă: nu puteți utiliza valoarea floatrandrange(). Va ridica un ValueError: non-integer arg 1 for randrange() dacă ați folosit alte valori decât un număr întreg.

generați numărul întreg aleatoriu al unei lungimi specifice

Ce se întâmplă dacă doriți să generați un număr aleatoriu de lungimen? De exemplu, doriți să generați un număr aleatoriu de lungime 4. Să vedem exemplul pentru a genera numărul aleatoriu de lungime 4 folosind random.randrange().

ieșire:

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

Notă: După cum puteți vedea, am setat un start la 1000 și stop la 10000 pentru că vrem să generăm numărul aleatoriu de lungime 4 (de la 1000 la 9999).

generați un număr întreg aleatoriu multiplu de n

În acest exemplu, vom genera un număr aleatoriu între x și y, care este un multiplu de 3 ca 3, 6, 39, 66.

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

ieșire:

Random number multiple of 3 is 264

generați un număr întreg negativ aleatoriu

Să vedem cum se generează un număr întreg negativ aleatoriu între -60 și -6.

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

ieșire:

Random negative integer between -60 to -6-49

genera aleatoare număr întreg pozitiv sau negativ

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

genera aleatoriu 1 sau -1

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

notă: am folosit aleatoriu.choice() pentru a alege un singur număr din lista de numere. Aici lista noastră este

generați o listă de numere întregi aleatorii

În această secțiune, vom vedea cum să generăm mai multe numere aleatorii. Uneori avem nevoie de o listă de eșantioane pentru a efectua testarea sau orice operație. În acest caz, în loc să o creăm manual, putem crea o listă cu numere întregi aleatorii folosind randint() sau randrange(). În acest exemplu, vom vedea cum să creați o listă cu 10 numere întregi aleatorii.

ieșire:

Printing list of 10 random numbers

În acest exemplu, există șansa de a obține un număr duplicat într-o listă

creați o listă de numere aleatorii fără duplicate

în exemplul de mai sus, există șansa de a obține un număr aleatoriu duplicat într-o listă. Dacă doriți să vă asigurați că fiecare număr din listă este unic, există o modalitate simplă de a genera o listă de numere aleatorii unice. Utilizarea aleatoare.exemplu () putem crea o listă de numere aleatoare unice.

  • random.sample() returnează o listă eșantionată de numere aleatoare selectate într-un interval de valori.
  • nu repetă niciodată elementul, astfel încât să putem obține o listă de numere aleatorii fără duplicate

să vedem cum să generăm 10 numere întregi aleatorii din intervalul 0 până la 1000.

ieșire:


Dacă doriți fiecare număr multiplu de n, utilizați parametrul step al funcției range(). De exemplu, doriți o listă de 10 numere aleatoare, dar fiecare număr întreg dintr-o listă trebuie să fie multiplu de 5 apoi utilizați random.sample(range(0, 1000, 5), 10)

Citește mai mult: aleatoriu.exemplu ()

sortează lista numerelor aleatorii

Dacă doriți să sortați o listă de numere întregi aleatorii în ordine crescătoare, utilizați sort() funcția

ieșire:

Before sorting random integers listAfter sorting random integers list

generați un număr întreg aleatoriu securizat

de mai sus toate exemplele nu sunt sigure din punct de vedere criptografic. Generatorul aleatoriu securizat criptografic generează numere aleatorii folosind metode de sincronizare pentru a se asigura că nu există două procese care pot obține același număr în același timp. Dacă produceți numere aleatorii pentru o aplicație sensibilă la securitate, atunci trebuie să utilizați această abordare.

dacă utilizați versiunea Python mai mică de 3,6 și doriți să generați un număr întreg aleatoriu securizat criptografic, utilizați funcțiilerandom.SystemRandom().randint() saurandom.SystemRandom().randrange(). Consultați Cum să securizați datele aleatorii în Python.

exemplu:

ieșire:

Secure random integer is 30Secure random integer is 162

dacă utilizați versiunea Python mai mare de 3,6, puteți utiliza modulul secrets pentru a genera un număr întreg aleatoriu securizat.

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

ieșire:

Random integer generated using secrets module is 8
  • securizați datele aleatorii în python.
  • Python secrets module

creați o matrice multidimensională aleatorie de numere întregi aleatorii

modulul NumPy Python are unnumpy.random pachet pentru a genera date aleatorii. Pentru a crea o matrice multidimensională aleatorie de numere întregi într-un interval dat, putem folosi următoarele metode NumPy:

acum, să vedem exemplul.

generați o matrice de 4 x 4 in-uri între 10 și 50, exclusiv:

ieșire:

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

generați o matrice de 5 x 3 in-uri între 60 și 100, inclusiv:

ieșire:

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

puncte de reținut despre randint() și randrange ()

  • utilizațirandint() când doriți să generați un număr aleatoriu dintr-un interval inclus.
  • utilizați randrange() când doriți să generați un număr aleatoriu într-un interval specificând valoarea pasului. Produce un număr aleatoriu dintr-o gamă exclusivă.

ar trebui să fiți conștienți de unele constrângeri de valoare ale unei funcțiirandrange().

  • randint() randrandrange() funcționează numai cu numere întregi. Nu puteți utiliza numere float.
  • dacă utilizați numere float se va ridicaValueError: non-integer arg 1 for randrange(). Consultați acest articol pentru a genera un număr aleatoriu float între într-un interval.
  • Pasul nu trebuie să fie 0. Dacă este setat la 0, veți obține un ValueError: zero step for randrange()

pornirea nu trebuie să fie mai mare decât oprirea dacă utilizați toate numerele pozitive. Dacă din greșeală setați start mai mare decât stop veți obține un ValueError: empty range for randrange()

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

ieșire:

ValueError: empty range for randrange()

dar, puteți seta, de asemenea, valoarea de pornire mai mare decât stop Dacă utilizați valoarea pas negativ.

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

ieșire:

60

Deci, ce crezi?

vreau să aud de la tine. Ce părere aveți despre acest articol despre randint() și randrange()? Sau poate am ratat una dintre utilizările acestor două funcții. Oricum, lasă-mă să știu lăsând un comentariu de mai jos.

de asemenea, încercați să rezolvați următorul exercițiu și test pentru a înțelege mai bine lucrul cu date aleatorii în Python.

  • Python exercițiu de generare a datelor aleatorii pentru a practica și stăpâni tehnicile de generare a datelor aleatorii în Python.
  • Python random data generation Quiz pentru a testa conceptele de generare de date aleatoare.