Funkcija randint() nodrošina vienkāršu un ātru veidu, kā ģenerēt nejaušus veselos skaitļus noteiktā diapazonā. Tas padara to par optimālu rīku dažādiem lie­to­ša­nas ga­dī­ju­miem.

Kādam nolūkam izmanto randint()?

randint() ir Python funkcija, kas ir daļa no random moduļa. Tā izveido nejaušu veselu skaitli diapazonā. Atšķirībā no dažām funkcijām citās prog­ram­mē­ša­nas valodās, randint() ietver diapazona norādīto ga­la­pun­ktu. Tas nozīmē, ka gan sākuma vērtība, gan beigu vērtība var būt iespējamo rezultātu diapazonā. randint() funkcija ir īpaši noderīga lie­to­jum­prog­ram­mās, kas balstās uz nejaušām vērtībām.

Random modulī ir vairāki veidi, kā ģenerēt nejaušus skaitļus. Piemēram, random.randrange(start, stop[, step]) ir līdzīgs randint(), bet dod lie­to­tā­jiem iespēju definēt papildu soli skaitļu secībai. Kamēr random.randint() rada tikai veselos skaitļus, random.uniform(a, b) izvada nejaušu peldskait­li noteiktā diapazonā.

NumPy pakete piedāvā arī uzlabotas funkcijas nejaušu skaitļu ģe­ne­rē­ša­nai, kas ir īpaši noderīgi masīvu ope­rā­ci­jām un sa­rež­ģī­tiem ma­te­mā­tis­kiem ap­rē­ķi­niem.

Kā ir struk­tu­rēts randint()?

randint() funkcijas sintakse ir sa­lī­dzi­no­ši vienkārša un prasa divus pa­ra­met­rus: sākuma vērtību un beigu vērtību dia­pa­zo­nam, kurā tiks ģenerēts nejaušs vesels skaitlis.

import random
random_number = random.randint(start, end)
python
  • import random: Tas importē random moduli, kas satur randint() funkciju. Lai izmantotu randint(), jums ir jāiekļauj šis solis.
  • random_number: Šī ir mainīgā, kurā tiek saglabāts randint() funkcijas rezultāts. Šī mainīgā satur ģenerēto nejaušo veselo skaitli.
  • start: Sākotnējā vērtība dia­pa­zo­nam, kurā tiek ģenerēts nejaušs vesels skaitlis. Šis skaitlis ir iekļauts rezultātā.
  • end: Šī ir intervāla galīgā vērtība. Šis skaitlis arī tiek iekļauts rezultātā.

Šeit ir praktisks piemērs:

import random
random_number = random.randint(1, 100)
print(random_number)
python

Šis kods ģenerē nejaušu veselu skaitli no 1 līdz 100 un parāda to konsolē. Vērtības start un end ir iekļautas no­rā­dī­ta­jās robežās, ļaujot ģe­ne­rē­ta­jam skaitlim būt jebkuram skaitlim no 1 līdz 100.

Kā lietot randint() funkciju un iz­vai­rī­ties no bieži sa­sto­pa­ma­jām kļūdām

Jūs varat elastīgi izmantot randint() funkcijas nejaušās ģe­ne­rē­ša­nas iespējas savā programmā. Tomēr ir svarīgi no­dro­ši­nāt, ka jūsu kods ir tīrs un precīzs, lai novērstu noteiktas kļūdu ziņas.

Iz­man­to­jot randint() vairākas reizes

Ja iz­man­to­jat funkciju randint() vairākas reizes, varat ģenerēt vairākus nejaušus veselos skaitļus dažādās koda daļās. Katrs izsaukums uz randint() ģenerē jaunu nejaušu veselo skaitli saskaņā ar no­rā­dī­ta­jiem pa­ra­met­riem.

import random
# Generate three different random integers between 1 and 10
random_number1 = random.randint(1, 10)
random_number2 = random.randint(1, 10)
random_number3 = random.randint(1, 10)
# Print the generated random integers
print("Random integer 1:", random_number1)
print("Random integer 2:", random_number2)
print("Random integer 3:", random_number3)
python

Sniegtā koda fragmentā mēs iz­man­to­jam trīs at­šķi­rī­gus randint() iz­sau­ku­mus, lai izveidotu trīs unikālus nejaušus veselos skaitļus no 1 līdz 10. Katrs random_numberX mainīgais satur atsevišķa randint() izsaukuma rezultātu, un šos re­zul­tā­tus var atkārtoti izmantot vai parādīt atkarībā no lie­to­jum­prog­ram­mas va­ja­dzī­bām.

Va­lueEr­ror ar randint()

Ja argumenti neatbilst gai­dī­ta­jam, piemēram, ja sākuma vērtība ir lielāka par beigu vērtību vai ja tiek nodoti neveseli argumenti, pa­rā­dī­sies Va­lueEr­ror ar randint(). Ir svarīgi pār­lie­ci­nā­ties, ka parametri ir pareizi. Tas nodrošina, ka netiek saņemts Va­lueEr­ror un funkcija var tikt izpildīta ne­vai­no­ja­mi.

# Correct use of randint()
random_number = random.randint(1, 10)
print("Random integer between 1 and 10:", random_number)
# Potential ValueError if 'end' is less than 'start'
random_number_error = random.randint(10, 5)  # This will raise a ValueError
print("There is an error that prevents a random integer from being printed.")
python

Vispirms iz­man­to­jam random.randint(1, 10), lai ģenerētu nejaušu veselu skaitli no 1 līdz 10. Tad mēģinām izsaukt random.randint(10, 5), kas izraisīs Va­lueEr­ror, jo sākuma vērtība ir lielāka par beigu vērtību.

TypeError ar randint()

TypeError rodas, ja funkcija vai operācija tiek izmantota datu tipam, kas tam nav piemērots. Ar randint() funkciju no random moduļa šī kļūda var rasties, ja no­do­ta­jiem ar­gu­men­tiem nav ne­pie­cie­ša­mais datu tips.

import random
random_number_error = random.randint("1", "10")
python

Šajā piemērā mēs vēlamies izsaukt randint() ar Python virkni kā ar­gu­men­tiem. Tā vietā, lai ievadītu tos kā veselos skaitļus, mēs ieliekām vērtības pēdiņās. Tas izraisa TypeError kļūdu, jo randint() sagaida veselos skaitļus kā ar­gu­men­tus nejaušā intervāla dia­pa­zo­nam.

Go to Main Menu