randint() funkcija suteikia paprastą ir greitą būdą generuoti at­si­tik­ti­nius sveikųjų skaičių intervalą. Tai daro ją optimalia priemone įvairiems naudojimo atvejams.

Kam nau­do­ja­mas skaičius randint()?

randint() yra Python funkcija, kuri yra at­si­tik­ti­nių skaičių modulio dalis. Ji sukuria at­si­tik­ti­nį sveiką skaičių tam tikrame intervale. Skir­tin­gai nei kai kurios funkcijos kitose prog­ra­ma­vi­mo kalbose, randint() įtraukia nurodytą intervalo galą. Tai reiškia, kad tiek pradinė, tiek galutinė vertė gali būti galimų rezultatų intervale. randint() funkcija yra ypač naudinga prog­ra­mo­se, kurios remiasi at­si­tik­ti­niais skaičiais.

At­si­tik­ti­nių skaičių modulyje yra keletas būdų generuoti at­si­tik­ti­nius skaičius. Pa­vyz­džiui, random.randrange(start, stop[, step]) yra panašus į randint(), bet suteikia var­to­to­jams galimybę apibrėžti pa­si­rink­ti­nį žingsnį skaičių sekai. random.randint() generuoja tik sveikųjų skaičių vertes, o random.uniform(a, b) generuoja at­si­tik­ti­nį plau­kio­jan­čio­jo kablelio skaičių nu­sta­ty­ta­me intervale.

NumPy paketas taip pat siūlo pažangias funkcijas at­si­tik­ti­nių skaičių ge­ne­ra­vi­mui, kurios yra ypač naudingos atliekant masyvų ope­ra­ci­jas ir su­dė­tin­gus ma­te­ma­ti­nius skai­čia­vi­mus.

Kaip yra su­skirs­ty­tas randint()?

randint() funkcijos sintaksė yra palyginti paprasta ir rei­ka­lau­ja dviejų parametrų: pradinės vertės ir galutinės vertės, tarp kurių bus ge­ne­ruo­ja­mas at­si­tik­ti­nis sveikasis skaičius.

import random
random_number = random.randint(start, end)
python
  • import random: Tai im­por­tuo­ja at­si­tik­ti­nį modulį, kuriame yra randint() funkcija. Norėdami naudoti randint(), turite įtraukti šį žingsnį.
  • random_number: Tai kin­ta­ma­sis, kuriame saugomas randint() funkcijos re­zul­ta­tas. Šis kin­ta­ma­sis yra su­ge­ne­ruo­tas at­si­tik­ti­nis sveikasis skaičius.
  • start: Pradinė reikšmė, iš kurios ge­ne­ruo­ja­mas at­si­tik­ti­nis sveikasis skaičius. Šis skaičius įtrau­kia­mas į rezultatą.
  • end: Tai yra galutinė intervalo vertė. Šis skaičius taip pat įtrau­kia­mas į rezultatą.

Štai praktinis pavyzdys:

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

Šis kodas sukuria at­si­tik­ti­nį sveiką skaičių nuo 1 iki 100 ir rodo jį konsolėje. Vertės start ir end yra įtrauktos į nurodytas ribas, todėl su­ge­ne­ruo­tas skaičius gali būti bet koks skaičius nuo 1 iki 100.

Kaip naudoti randint() funkciją ir išvengti daž­niau­siai pa­si­tai­kan­čių klaidų

Savo prog­ra­mo­je galite lanksčiai naudoti randint() funkcijos at­si­tik­ti­nio ge­ne­ra­vi­mo galimybes. Tačiau svarbu už­tik­rin­ti, kad jūsų kodas būtų švarus ir tikslus, kad būtų išvengta tam tikrų klaidų pranešimų.

Nau­do­ji­mas randint() kartus

Jei funkciją randint() naudojate keletą kartų, galite su­ge­ne­ruo­ti kelis at­si­tik­ti­nius sveikųjų skaičių skir­tin­go­se kodo dalyse. Kiek­vie­nas funkcijos randint() iš­kvie­ti­mas su­ge­ne­ruo­ja naują at­si­tik­ti­nį sveikąjį skaičių pagal nurodytus pa­ra­met­rus.

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

Pa­teik­ta­me kodo fragmente naudojame tris skir­tin­gus randint() iš­kvie­ti­mus, kad sukurtume tris unikalius at­si­tik­ti­nius sveikųjų skaičių intervalą nuo 1 iki 10. Kiekviena random_numberX kin­ta­ma­sis saugo atskiro randint() iš­kvie­ti­mo rezultatą, ir šie re­zul­ta­tai gali būti pa­kar­to­ti­nai naudojami arba rodomi, pri­klau­so­mai nuo programos poreikių.

Va­lu­eEr­ror su randint()

Va­lu­eEr­ror su randint() pasirodys, jei ar­gu­men­tai ne­ati­tin­ka lūkesčių, pa­vyz­džiui, jei pradinė vertė yra didesnė už galutinę vertę arba jei per­duo­da­mi ne sveikieji ar­gu­men­tai. Svarbu įsi­ti­kin­ti, kad pa­ra­met­rai yra teisingi. Tai užtikrina, kad nebus gautas Va­lu­eEr­ror ir funkcija bus vykdoma sklan­džiai.

# 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

Pir­miau­sia naudojame random.randint(1, 10), kad sukurtume at­si­tik­ti­nį sveiką skaičių nuo 1 iki 10. Tada bandome iškviesti random.randint(10, 5), o tai sukels Va­lu­eEr­ror, nes pradinė vertė yra didesnė už galutinę vertę.

TypeError su randint()

TypeError klaida atsiranda, kai funkcija ar operacija naudojama duomenų tipui, kuris jai netinka. Naudojant randint() funkciją iš at­si­tik­ti­nių skaičių modulio, ši klaida gali atsirasti, jei perduoti ar­gu­men­tai neturi reikiamo duomenų tipo.

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

Šiame pavyzdyje norime iškviesti randint() su Python eilutėmis kaip ar­gu­men­tais. Vietoj to, kad įvestume juos kaip sveikieji skaičiai, įdėjome vertes į kabutes. Tai sukelia TypeError, nes randint() tikisi sveikųjų skaičių kaip argumentų at­si­tik­ti­niam intervalo dia­pa­zo­nui.

Go to Main Menu