• Sikl operatorlari va Funksiyalar
  • Zbekiston respublikasi raqamli texnologiyalar vazirligi muxammad al-xorazimiy nomidagi toshkent axborot texnologiyalari universiteti




    Download 314,92 Kb.
    bet2/3
    Sana22.12.2023
    Hajmi314,92 Kb.
    #127156
    1   2   3
    Bog'liq
    ML must

    List va Matritsalar
    Pythonda List – bu ketma – ket kelgan o“zgaruvchilar hisoblanadi(boshi va oxiriga [ ] qavslari qo“yiladi)(Listlarni indekslash 0 dan boshlanadi).


    Bo“sh list e“lon qilish
    lst = []
    List turiga o“tish list() funksiyasi orqali amalga oshiriladi.
    List larni konsetenatsiya(birlashtirish), elementlar qo“shish, o“chirish, teskari tartibga keltirish kabi amallari bor.


    lst = [1, 3, 2, 4]
    hst = [23, 4, 3]
    print(len(lst)) # 4 (Listning o“lchamini aniqlash)
    print(lst + hst) # [1, 3, 2, 4, 23, 4, 3]
    lst.append(7) # [1, 3, 2, 4, 7]
    lst.insert(0, 3) # [0, 1, 3, 2, 4]
    lst.pop() # [1, 3, 2] (Oxirgi elementini o“chiradi)
    lst.pop(1) # [1, 2, 4] (1 – indeksda turgan element o“chirildi)
    lst.remove(2) # [1, 3, 4] (Chap tomondan kelgan eng birinchi 2 o“chirildi)
    del lst[2] # [1, 3, 4] (2 – indeksdagi element o“chirildi)
    print(list(reversed(hst))) # [3, 4, 23] (List teskari tartibga keltirildi)


    lst = [-2] * 20 # 20 o“lchamli list yaratildi, har bir element -2 ga teng


    Listlar biz turli matematik muammolarni yechish uchun foydalanishimiz mumkin, misol uchun skalyar ko“paytmani topish, 2 vektor orasidagi burchakni topish kabi masalalarda.


    Misol:
    avek = [3, 2, 4, 1]
    bvek = [0, 2, 9, 5]


    def skalyar_kopaytma(al, bl):
    n = len(al)
    skk = 0
    for i in range(n):
    skk += al[i] * bl[i]
    return skk


    def uzunlik(vek):
    length = 0
    for i in vek:
    length += i * i
    return length ** 0.5


    def burchak(avek, bvek):
    return math.acos(skalyar_kopaytma(avek, bvek) / uzunlik(avek) / uzunlik(bvek)) * 180 / math.pi


    print(skalyar_kopaytma(avek, bvek)) # 45
    print(burchak(avek, bvek)) # 38.4317(gradusda)
    Pythonda matritsa — 2 o’lchovli list hisoblanadi. Bo’sh matritsa bilan ishlash qiyinroq bo’lgani uchun avvaldan o’lchamlarini berib e’lon qilish lozim


    n x m o’lchamli matritsani e’lon qilish:


    mts = [[] * m for _ in range(n)]


    Agar to’liqligicha e’lon qilish paytida qiymatlarni berib ketmoqchi bo’lsak:
    mts = [[3, 2, 3, 3],
    [3, 2, 3, 3],
    [3, 2, 3, 3]]
    kabi e’lon qilib ketamiz.


    Matritsalar bilan matematikadagi barcha amallarni bajarishimiz mumkin.


    Matritsalarni ko’paytirish masalasini ko’rib chiqamiz:
    amat = [[3, 2, 3, 3],
    [3, 2, 3, 3],
    [3, 2, 3, 3]]


    bmat = [[3, 2],
    [4, 1],
    [7, 6],
    [8, 4]]
    def kopaytir(amat, bmat):
    n = len(amat)
    m = len(amat[0])
    k = len(bmat[0])
    cmat = [[0] * k for _ in range(n)]
    for i in range(n):
    for j in range(k):
    for x in range(m):
    cmat[i][j] += amat[i][x] * bmat[x][j]
    return cmat


    print(kopaytir(amat, bmat)) # [[62, 38], [62, 38], [62, 38]]






    Sikl operatorlari va Funksiyalar
    Pythonda 2 turdagi sikl operatorlari bor: for va while
    Ko“pincha for operatoridan foydalaniladi. For operatori bilan ishlashda odatda range obyekti bilan 2 o“zgaruvchi beriladi: start, end (Bu [start, end) yariminterval bilan bir xil oraliqni beradi), shuningdek, uchinchi o“zgaruvchi step ham beriladi, bu iteratsiya qilinayotgan sonlar orasi qancha bo“lishi kerakligini ifodalaydi.
    for in :



    Misol: 10 bilan 99 orasidagi 13 ga karrali chop etish.
    for i in range(10, 99):
    if i % 13 == 0:
    print(i, end = ' ')


    Xuddi shu 13 ga bo“linadigan sonlarni teskari tartibda chop etishimiz uchun esa:
    for i in range(98, 9):
    if i % 13 == 0:
    print(i, end = ' ')


    Biz for operatorini list, set yoki dict bilan ishlatish uchun shunchaki in dan keyin ketma-ketlik turidagi obyekt o“zgaruvchisi nomini yozib qo“ysak kifoya.


    While operatori bilan ishlagan boshqacharoq holat kuzatiladi(tuzilish jihatidan for bilan deyarli bir xil):
    while :



    While ishtirokida bir masala ko“raylik:
    100 gacha bo“lgan tub sonlarni aniqlang
    i = 2
    while i <= 100:
    tub = True
    j = 2
    while j * j <= i:
    if i % j == 0:
    tub = False
    break
    j += 1
    if tub:
    print(i, end = ' ')
    i += 1
    Pythonda funksiyalar bilan ishlash ancha qulay: Funksiyani e“lon qilish qilishdan avval def kalit so“zi va funksiya nomi ishlatiladi, keyin argumentlar berish lozim bo“lsa, qavs ichida argumentlar berib ketiladi.


    def ():



    Funksiyani qiymat qaytaradigan yoki qaytarmasligiga qarab turib qaysidur joyini o“zgartirmaymiz(C++ dasturlash tilida qiymat qaytarmaydigan funksiya yozadigan bo“lsak, void kalit so“zini yozishimiz shart edi).


    Funksiyaga misol:


    def ekub(a, b):
    while a and b:
    a, b = b, a % b
    return a + b


    print(ekub(1001, 234)) # 13


    Hozir biz mashinali o’qitish uchun pythonning fundamental qismlarini ko’rib chiqdik, endi pandas kutubxonasi bilan ishlashni ko’rib chiqamiz.

    Download 314,92 Kb.
    1   2   3




    Download 314,92 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Zbekiston respublikasi raqamli texnologiyalar vazirligi muxammad al-xorazimiy nomidagi toshkent axborot texnologiyalari universiteti

    Download 314,92 Kb.