Дастурлаш асослари



Download 5,59 Mb.
bet26/90
Sana15.06.2022
Hajmi5,59 Mb.
#674164
1   ...   22   23   24   25   26   27   28   29   ...   90
Bog'liq
UMK Python dasturlash tili (107-buyruq bcha) 2021-2022

random moduli. random moduli. Tasodifiy sonlar generasiyasi
random moduli tasodifiy sonlarni generasiya qilishga imkon beradi. Moduldan foydalanishdan oldin quyidagi instruksiya yordamida bog’lanish amalga oshiriladi:
import random
Uning asosiy funksiyalarini sanab o’tamiz:

  • random() – 0.0 dan 1.0 gacha tasodifiy sonlarni qaytaradi:

>>> import random
>>> random.random ()
0. 9753144027290991
>>> random.random ()
0.5468390487484339
>>> random.random()
0. 13015058054767736

  • seed ([
    ] [, version=2]) - tasodifiy sonlar generatorini yangi ketmaketlikka sozlash. Agar birinchi element ko’rsatilmasa, tasodifiy sonlar bazasi sifatida tizim vaqti olinadi. Agar birinchi parametr qiymati bitta bo’lsa, bitta songacha generasiyalanadi:

>>> random.seed (10)
>>> random.random ()
0. 5714025946899135
>>> random.seed(l0)
>>> random.random()
0. 5714025946899135

  • uniform ( , ) - dan gacha oraliqdagi tasodifiy haqiyqiy sonni qaytaradi:

>>> random.uniform (0, 10)
9. 965569925394552
>>> random.uniform (0, 10)
0.4455638245043303

  • randint ( , ) - dan gacha oraliqdagi tasodifiy butun sonni qaytaradi:

>>> random.randint (0, 10)
4
>>> random.randint (0, 10)
10

  • randrange ([,] [, ]) - sonli ketma-ketlikdan tasodifiy elementni qaytaradi. Parametrlari range() funksiyalari analogidir. Ya’ni, dan gacha bo’lgan sonlar orlaig’idan farqi bilan tasodifiy sonni qaytarardi:

>>> random. randrange(10)
5
>>> random.randrange (0, 10)
2
>>> random.randrange (0, 10, 2)
6

  • choice () – berilgan ketma-ketlik (satr, ro’yxat, kortej) dagi tasodifiy elementni qaytaradi:

>>> random.choice (“string”) # Satr
‘i’
>>> random.choice (["s", "t", "r"]) # Ro’yxat
'r'
>>> random.choice((" s", "t", "r")) # Kortej
't '

  • shuffle ( [, <0.0 dan 1.0 gacha sonlar>]) – ro’yxat elementlarini tasodifiy aralashtirish. Agar ikkinchi parametr ko’rsatilmasa, random() funksiyasi qiymatidan foydalaniladi. Bu holda hech qanday natija qaytarilmaydi. Faqat ro’yxatdagi elementlar tartibi o’zgaradi. Masalan:

>>> arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> random.shuffle(arr)
>>> arr
[8, 6, 9, 5, 3, 7, 2, 4, 10, 1]

  • sample (, ) –berilgan ketma-ketlikdan ko’rsatilgan miqdordagi tasodifiy holdagi elementlar ro’yxatini qaytaradi. Bunda obyekt sifatida iterasiyani qo’llovchi ixtiyoriy obektni ko’rsatish mumkin. Masalan:

>>> random.sample ("string", 2)
['i', 'r' ]
>>> arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> random.sample(arr, 2)
[7, 10]
>>> arr # Ro’yxatning o’zi o’zgarmaydi
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> random.sample (( l, 2, 3, 4, 5, 6, 7) , 3)
[6 , 3, 5]
>>> random .sample (range(300), 5)
[126, 194, 272, 46, 71]
Berilgan uzunlikdagi parol genaratorini yaratish misolini ko’rib chiqamiz (5.1-misol). Buning uchun arr ro’yxatiga barcha ruxsat etilgan belgilarni qo’shamiz. So’ng choice() funksiyasi yordamida tasodifiy elementni olamiz. Odatiy holda parol uzunligini 8 belgidan iborat deb olinadi.
5.1-misol. Parol generator
#-*-coding:utf-8-*-
import random # random modulini ulaymiz
def passw_generator(count_char=8):
arr = ['а', 'b', 'с', 'd','e','f','g', 'А', 'В' , 'С', 'D', 'Е', 'F','G', 'Н', 'I','J', 'К', 'L', 'М', 'N', 'О', 'Р', 'Q', 'R' , 'S' , 'Т', 'U', 'V', 'W', 'Х', 'У', 'Z', '1', '2','3', '4', '5', '6', '7', '8', '9', '0']
passw = []
for i in range(count_char):
passw.append(random.choice(arr))
return "".join(passw)
# funksiyani chaqiramiz
print (passw_generator(20)) #ngODHE8J8x ko’rinishada chiqishi mumkin
print (passw_generator()) #ZxcpkF50 ko’rinishada chiqishi mumkin
input ()

Download 5,59 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   90




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish