18-ámeliy jumıs: Python programmalastırıw tilinde massivler
- 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
- ÁMELIY BÓLIM
- 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]
- 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
- 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
- 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)
- Á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:
- 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
- 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.
- 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ı
- 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).
- Á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
- 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']}")
- 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")
- 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']}")
- 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)
- 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
- List (dizim) qaysı belgiler menen jaratıladı?
a) []
b) ()
c) {}
d) <>
Durıs juwap: a) [] - Pythonda massiv elementleri qanday indeksten baslanadı?
a) 1
b) -1
c) 0
d) 2
Durıs juwap: c) 0 - 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) - List elementine qosıw ushın qaysı metod qollanıladı?
a) add()
b) append()
c) insert()
d) push()
Durıs juwap: b) append() - Tómendegi qaysı massiv tipi ózgermeytuǵın (immutable) bolıp esaplanadı?
a) List
b) Tuple
c) Set
d) Dictionary
Durıs juwap: b) Tuple - 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() - 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
- 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 - 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 - 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ı.