18-ámeliy jumıs: Python programmalastırıw tilinde massivler

  1. TEORIYALÍQ BÓLÍM

Massiv (Array) - bul bir tiptegi elementlerdi saqlaw ushın qollanılatuǵın maǵlıwmatlar strukturası. Python tilinde massivler menen islew ushın bir neshe usıl bar:

a) List (Dizim):

  • Ózgeriwshi uzınlıqtaǵı massiv
  • Hár qıylı tip maǵlıwmatlardı saqlawı múmkin
  • Kvadrat qawsırmalar [] menen jaratıladı

b) Tuple:

  • Ózgermeytuǵın massiv
  • Dumalaq qawsırmalar () menen jaratıladı

c) NumPy Array:

  • Ilimiy esaplawlar ushın arnalǵan
  • Bir tekli maǵlıwmat tipi
  • Tezlik jaqtan effektivli
  1. ÁMELIY BÓLIM
  1. List penen islew:

# List jaratıw
sanlar = [1, 2, 3, 4, 5]
sozler = ["alma", "almurt", "erik"]
 
# Elementke kirisiw
print(sanlar[0])  # 1
print(sozler[1])  # almurt
 
# List uzınlıǵı
print(len(sanlar))  # 5
 
# Element qosıw
sanlar.append(6)
print(sanlar)  # [1, 2, 3, 4, 5, 6]
 
# Element óshiriw
sanlar.remove(6)
print(sanlar)  # [1, 2, 3, 4, 5] 

  1. Tuple menen islew:

# Tuple jaratıw
koordinata = (10, 20)
rang = ("qızıl", "jasıl", "kók")
 
# Elementke kirisiw
print(koordinata[0])  # 10
print(rang[1])  # jasıl
 
# Tuple uzınlıǵı
print(len(rang))  # 3

  1. NumPy Array menen islew:

import numpy as np
 
# NumPy array jaratıw
arr = np.array([1, 2, 3, 4, 5])
 
# Matematikalıq ámellerdi qollaw
print(arr * 2)  # [2 4 6 8 10]
print(arr.mean())  # 3.0
print(arr.sum())  # 15

  1. Kóp ólshemli massivler:

# 2D List
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
 
print(matrix[1][1])  # 5
 
# 2D NumPy array
np_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np_matrix.shape)  # (3, 3) 

  1. Ámeliy másele:

defmassiv_statistika(sanlar):
    """Massivtiń statistikalıq kórsetkishlerin esaplaydı"""
    orta = sum(sanlar) / len(sanlar)
    maksimum = max(sanlar)
    minimum = min(sanlar)
   
    return {
        "orta": orta,
        "maksimum": maksimum,
        "minimum": minimum
    }
 
# Qollanıw
sanlar = [10, 5, 8, 12, 3, 7]
nat = massiv_statistika(sanlar)
print(f"Orta mánisi: {nat['orta']}")
print(f"Maksimum: {nat['maksimum']}")
print(f"Minimum: {nat['minimum']}") 

 

Keliń, hárbir bólimdi izbe-iz túsindirip shıǵayıq:

  1. LIST (DIZIM) KODLARÍ:

sanlar = [1, 2, 3, 4, 5]
sozler = ["alma", "almurt", "erik"]

Bul jerda eki list jaratıldı:

  • sanlar - sanlı massiv
  • sozler - tekstli massiv

List elementlerine index arqalı kirisemiz:

print(sanlar[0])  # 1-shi element
print(sozler[1])  # 2-shi element

Pythonda indeksler 0-den baslanadı. Yaǵnıy, 0-element birinshi element boladı.

append() hám remove() metodları:

  • append() - listtiń aqırına element qosadı
  • remove() - berilgen elementi óshiredi
  1. TUPLE KODLARÍ:

koordinata = (10, 20)
rang = ("qızıl", "jasıl", "kók")

Tuple list sıyaqlı, biraq ózgertiw múmkin emes. Yaǵnıy, element qosıw yamasa óshiriw múmkin emes.

  1. NUMPY ARRAY KODLARI:

import numpy as np
arr = np.array([1, 2, 3, 4, 5]) 

NumPy - ilimiy esaplawlar ushın keń qollanılatuǵın kitapxana.

  • arr * 2 - hámme elementlerdi 2-ge kóbeytedi
  • mean() - orta arifmetikalıq mánisti tabadı
  • sum() - barlıq elementler qosındısın tabadı
  1. KÓP ÓLSHEMLI MASSIVLER:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

Bul 3x3 ólshemli matrica. matrix[1][1] arqalı 2-qatardıń 2-elementine kiremiz (5).

  1. ÁMELIY MÁSELE:

defmassiv_statistika(sanlar): 

Bul funkciya massivtiń:

  • Orta mánisin (sum(sanlar) / len(sanlar))
  • Maksimum mánisin (max(sanlar))
  • Minimum mánisin (min(sanlar))
    esaplaydı hám sózlik (dictionary) túrinde qaytaradı.

Nátiyjeni shıǵarıw:

sanlar = [10, 5, 8, 12, 3, 7]
nat = massiv_statistika(sanlar) 

Funkciyaǵa massivti jiberemiz hám nátiyjeni nat ózgeriwshisine saqlaymız, soń ekranǵa shıǵaramız.

 

ÁMELIY MÍSALLAR

  1. Oqıwshılardıń bahaların esaplaw:

defbahalardy_analiz_et(bahalar):
    """Oqıwshılardıń bahaların analiz etedi"""
    orta = sum(bahalar) / len(bahalar)
    eń_joqarı = max(bahalar)
    eń_tómen = min(bahalar)
   
    bes_sanı = bahalar.count(5)
    tórt_sanı = bahalar.count(4)
   
    return {
        "orta": orta,
        "eń_joqarı": eń_joqarı,
        "eń_tómen": eń_tómen,
        "besler": bes_sanı,
        "tórtler": tórt_sanı
    }
 
bahalar = [5, 4, 5, 3, 4, 5, 4, 3, 5]
nat = bahalardy_analiz_et(bahalar)
 
print(f"Orta baha: {nat['orta']}")
print(f"Eń joqarı baha: {nat['eń_joqarı']}")
print(f"Eń tómen baha: {nat['eń_tómen']}")
print(f"Besler sanı: {nat['besler']}")
print(f"Tórtler sanı: {nat['tórtler']}") 

  1. Tovar bahaların esaplaw:

deftovarlar_esabı(atları, bahalar):
    """Tovarlar haqqında maǵlıwmat beredi"""
    iflen(atları) != len(bahalar):
        return"Qátelik: atlar hám bahalar sanı birdey bolıwı kerek"
   
    eń_qımbat = atları[bahalar.index(max(bahalar))]
    eń_arzan = atları[bahalar.index(min(bahalar))]
    ulıwma_summa = sum(bahalar)
   
    return {
        "eń_qımbat_tovar": eń_qımbat,
        "eń_arzan_tovar": eń_arzan,
        "ulıwma_summa": ulıwma_summa
    }
 
tovar_atları = ["nan", "sút", "gósht", "alma", "kartoshka"]
tovar_bahaları = [2000, 8000, 45000, 15000, 5000]
 
nat = tovarlar_esabı(tovar_atları, tovar_bahaları)
print(f"Eń qımbat tovar: {nat['eń_qımbat_tovar']}")
print(f"Eń arzan tovar: {nat['eń_arzan_tovar']}")
print(f"Ulıwma summa: {nat['ulıwma_summa']} som")

  1. Temperatura maǵlıwmatların analiz etiw:

deftemperatura_statistikası(kúnlik_temp):
    """Háptelik temperatura maǵlıwmatların analiz etedi"""
    orta_temp = sum(kúnlik_temp) / len(kúnlik_temp)
    eń_ıssı = max(kúnlik_temp)
    eń_suwıq = min(kúnlik_temp)
   
    ıssı_kúnler = len([temp for temp in kúnlik_temp if temp > 30])
    suwıq_kúnler = len([temp for temp in kúnlik_temp if temp < 15])
   
    return {
        "orta_temperatura": orta_temp,
        "eń_ıssı": eń_ıssı,
        "eń_suwıq": eń_suwıq,
        "ıssı_kúnler": ıssı_kúnler,
        "suwıq_kúnler": suwıq_kúnler
    }
 
temperatura = [25, 28, 32, 30, 27, 22, 24]
nat = temperatura_statistikası(temperatura)
 
print(f"Orta temperatura: {nat['orta_temperatura']:.1f}°C")
print(f"Eń ıssı kún: {nat['eń_ıssı']}°C")
print(f"Eń suwıq kún: {nat['eń_suwıq']}°C")
print(f"30°C dan joqarı kúnler: {nat['ıssı_kúnler']}")
print(f"15°C dan tómen kúnler: {nat['suwıq_kúnler']}") 

  1. Oqıwshılar dizimin sortlaw:

defoqıwshılardı_sortlaw(atlar, bahalar):
    """Oqıwshılardı bahaları boyınsha sortlaydı"""
    oqıwshılar = list(zip(atlar, bahalar))
    sortlanǵan = sorted(oqıwshılar, key=lambda x: x[1], reverse=True)
   
    print("Oqıwshılar reytingi:")
    for i, (at, baha) inenumerate(sortlanǵan, 1):
        print(f"{i}. {at}: {baha}")
 
atlar = ["Azamat", "Gúlnara", "Berdaq", "Diana", "Erik"]
bahalar = [87, 95, 82, 91, 88]
 
oqıwshılardı_sortlaw(atlar, bahalar) 

  1. Massivti filtrlew:

defpútin_sanlar_analizi(sanlar):
    """Pútin sanlar massivi menen islew"""
    jup_sanlar = [san for san in sanlar if san % 2 == 0]
    taq_sanlar = [san for san in sanlar if san % 2 != 0]
   
    print("Jup sanlar:", jup_sanlar)
    print("Taq sanlar:", taq_sanlar)
    print(f"Jup sanlar sanı: {len(jup_sanlar)}")
    print(f"Taq sanlar sanı: {len(taq_sanlar)}")
    print(f"Jup sanlar qosındısı: {sum(jup_sanlar)}")
    print(f"Taq sanlar qosındısı: {sum(taq_sanlar)}")
 
sanlar = [1, 4, 7, 2, 9, 6, 3, 8, 5]
pútin_sanlar_analizi(sanlar) 

Bul mısallardı ózińiz qollanıp kóriw ushın Python interpretatorına kiritiw múmkin. Hár bir mısal massivler menen islewdiń hár qıylı aspektlerin kórsetedi.

 

TEST

  1. List (dizim) qaysı belgiler menen jaratıladı?
    a) []
    b) ()
    c) {}
    d) <>
    Durıs juwap: a) []
  2. Pythonda massiv elementleri qanday indeksten baslanadı?
    a) 1
    b) -1
    c) 0
    d) 2
    Durıs juwap: c) 0
  3. Tómendegi qaysı kod list uzınlıǵın tabadı?
    a) list.length()
    b) list.size()
    c) len(list)
    d) list.count()
    Durıs juwap: c) len(list)
  4. List elementine qosıw ushın qaysı metod qollanıladı?
    a) add()
    b) append()
    c) insert()
    d) push()
    Durıs juwap: b) append()
  5. Tómendegi qaysı massiv tipi ózgermeytuǵın (immutable) bolıp esaplanadı?
    a) List
    b) Tuple
    c) Set
    d) Dictionary
    Durıs juwap: b) Tuple
  6. NumPy massivinde ortasha mánisti tabıw ushın qaysı metod qollanıladı?
    a) average()
    b) median()
    c) mean()
    d) middle()
    Durıs juwap: c) mean()
  7. Tómendegi kodtıń nátiyjesin anıqlań:

sanlar = [1, 2, 3, 4, 5]
print(sanlar[-1]) 

a) 1
b) 5
c) 4
d) Qátelik
Durıs juwap: b) 5

  1. List elementlerin óshiriw ushın qaysı metod qollanıladı?
    a) delete()
    b) pop()
    c) remove()
    d) b hám c juwaplar durıs
    Durıs juwap: d) b hám c juwaplar durıs
  2. Kóp ólshemli massivde matrix[1][1] elementi qay jerde jaylasqan?
    a) 1-qatar, 1-baǵana
    b) 2-qatar, 2-baǵana
    c) 1-qatar, 2-baǵana
    d) 2-qatar, 1-baǵana
    Durıs juwap: b) 2-qatar, 2-baǵana
  3. Listtiń barlıq elementlerin qosıw ushın qaysı funkciya qollanıladı?
    a) sum()
    b) total()
    c) add()
    d) plus()
    Durıs juwap: a) sum()

Qosımsha túsindirmeler:

Test 1: List - Pythondaǵı eń kóp qollanılatuǵın massiv túri, kvadrat qawsırmalar [] arqalı jaratıladı.

Test 2: Pythonda indeksler 0-den baslanadı, yaǵnıy birinshi element 0-indekste jaylasadı.

Test 3: len() funkciyası massiv uzınlıǵın tabıw ushın qollanıladı.

Test 4: append() metodı listtiń aqırına element qosıw ushın qollanıladı.

Test 5: Tuple - ózgermeytuǵın massiv túri, jaratılǵannan keyin ózgertiw múmkin emes.

Test 6: NumPy kitapxanasında mean() metodı orta arifmetikalıq mánisti tabadı.

Test 7: Teris indeks (-1) listtiń aqırǵı elementin bildiredi.

Test 8: pop() - indeks boyınsha óshiredi, remove() - mánisi boyınsha óshiredi.

Test 9: Kóp ólshemli massivlerde birinshi indeks qatardı, ekinshi indeks baǵananı bildiredi.

Test 10: sum() funkciyası massiv elementleriniń qosındısın tabadı.