Кездейсоқ сандарды генерациялау функциялары



Дата13.03.2023
өлшемі17.21 Kb.
#470708
5-лекция (2)


  1. Кездейсоқ сандарды генерациялау функциялары

Компьютерлік бағдарламаларда мысалы, ойын бағдарламаларын жасауда кездейсоқ сандармен жұмыс жасау қажеттігі жиі кездеседі.


Кездейсоқ санды генерациялау функциясын шақыру үшін random модулін импорттау керек.
>>> import random
немесе
>>>from random import*
Немесе одан жеке функцияларды импорттауға да болады.
>>> from random import random, randrange, randint



Кездейсоқ бүтін сандарды шығару

Кездейсоқ бүтін сандарды алу үшін randint() және randrange() функциялары қолданылады.


1)randint() функциясы қарапайым болып табылады және әрқашан екі аргументтен тұрады.
Функцияның жазылуының жалпы түрі: randint(a,b)
Бұл функция берілген бүтін санды аралықтан кез келген кездейсоқ сан таңдауды жүзеге асырады.
Мысалы:
>>> import random
>>> random.randint(0, 10)
6
Файлдық режімде жазылса:
import random
print(random.randint(0, 10))

Немесе (егер жеке функциялар импортталса):


>>> randint(100, 200)
110
randint() функциясында аралықтың екі шекарасы да кіреді, яғни математика тілінде – [a; b] кесіндісі.
Сан теріс болуы да мүмкін:
>>> random.randint(-100, 10)
-83
>>> random.randint(-100, -10)
-38
Бірінші сан екіншіден кем немесе оған тең болу керек, яғни a <= b.
2)randrange() функциясы күрделірек табылады. Ол бір, екі немесе үш аргумент қабылдайды. Егер бір аргумент көрсетілсе, онда 0- ден бастап көрсетілген аргументке дейінгі кездейсоқ санды шығарады. Аргументтің өзі аралыққа кірмейді. Математика тілінде –[0; a) кесіндісі.
Мысалы:
>>> random.randrange(10)
4
немесе:
>>> randrange(5)
0
Егер randrange() функциясында екі аргумент берілсе, онда randint() функциясы сияқты жұмыс жасайды. Бір айырмашылығы, мұнда жоғарғы шекара аралыққа кірмейді, яғни [a; b) кесіндісі.
Мысалы:
>>> random.randrange(5, 10)
9
>>> random.randrange(1, 2)
1
Мысалы: 0- ден 10- ға дейінгі кездейсоқ санды шығару командасы былайша жазылады:
random.randrange(10)

Егер randrange() функциясында үш аргумент берілсе, онда бастапқы екі аргумент аралық шекарасы, ал үшіншісі қадам болып табылады. Мысалы randrange(10, 20, 3) командасы жазылса, онда кездейсоқ сан 10, 13, 16, 19 сандары ішінен таңдалады.


Мысалы:
>>> random.randrange(10, 20, 3)
13
>>> random.randrange(10, 20, 3)
19
>>> random.randrange(10, 20, 3)
10

Кездейсоқ нақты сандарды шығару


Кездейсоқ нақты сан шығару үшін Python тілінің random модулінің random() функциясы қолданылады. Ол ешқандай аргумент қабылдамайды және 0 мен 1 аралығынан кездейсоқ нақты сан шығарады.
Мысалы:
>>> random.random()
0.17855729241927576
>>> random.random()
0.3310978930421846
немесе
>>> random()
0.025328854415995194
Нақты санды дөңгелектеп шығаруға да болады. Ол үшін round() қондырылған функциясы қолданылады.
Мысалы:
>>> a = random.random()
>>> a
0.8366142721623201
>>> round(a, 2)
0.84
>>> round(random.random(), 3)
0.629
[0; 1) аралығынан өзге аралықтан кездейсоқ нақты санды шығару үшін математикалық әдіс қолданылады. random() функциясы нәтижесінде шыққан санды кез келген санға көбейтсе, 0- ден сол бүтін сан аралығындағы нақты сан пайда болады.
Мысалы:
>>> random.random() * 10
2.510618091637596
>>> random.random() * 10
6.977540211221759
Төменгі шекара 0-ден өзге болу үшін random() функциясын жоғарғы және төменгі шекара айырмасына көбейтіп, оған төменгі шекараны қосу керек. Яғни, кез келген [a,b] аралығынан кездейсоқ нақты сан шығару үшін команда төмендегіше жазылады:
random.random() * (b - a) + a


Мысалы:
>>> random.random() * (10 - 4) + 4
9.517280589233597
>>> random.random() * (10 - 4) + 4
6.4429124181215975
>>> random.random() * (10 - 4) + 4
4.9231983600782385
-1 мен 1 аралығындағы кездейсоқ сандарды шығару мысалдары:
>>> random.random() * (1 + 1) - 1
-0.673382618351051
>>> random.random() * (1 + 1) - 1
0.34121487148075924
>>> random.random() * (1 + 1) - 1
-0.988751324713907
>>> random.random() * (1 + 1) - 1
0.44137358363477674

Мысал10: Кездейсоқ шыққан үш санның нешеуі жұп екендігін анықтаңдар.
from random import*
a=randrange(50);
b=randrange(50);
c=randrange(50);
print("a=",a,"b=",b,"c=",c)
k=0
if a%2==0: k=k+1
if b%2==0: k=k+1
if c%2==0: k=k+1
print("jup san=",k)

Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет