9-ámeliy jumıs: Python programmalastırıw tilinde dizimler
I. Teoriyalıq bólim
1. Dizim (List) túsinigi
• Dizim - bir neshe elementlerdi óz ishine alǵan, tártiplengen hám ózgeriwshi maǵlıwmatlar strukturası
• Python tilinde dizimler [ ] qawsırmalar belgisi menen jaratıladı
• Dizim elementleri 0-den baslanǵan index boyınsha saqlanadı
2. Dizimniń tiykarǵı ózgeshelikleri:
• Dizimde hár túrli tipli elementler bolıwı múmkin (sanlar, tekstler, logikalıq maǵlıwmatlar)
• Dizim ózgeriwshi (mutable) esaplanadı
• Dizimde elementler qaytalanıwı múmkin
• Dizimde elementlerdiń tártibi saqlanadı
3. Dizimler menen islewdiń tiykarǵı operaciyaları:
• Dizim jaratıw
• Elementlerdi qosıw
• Elementlerdi óshiriw
• Elementlerdi ózgertiw
• Dizimdi sortırovkalaw
• Dizimdi kóshiriw
II. Ámeliy bólim
1. Dizim jaratıw hám elementlerge misal:
2. Dizimge element qosıw:
3. Dizimnen element óshiriw:
4. Dizimdi sortırovkalaw:
5. Dizimdi kóshiriw:
Ámeliy tapsırma:
Tómendegi máselelerdi sheshiń:
1. 1-den 10-ǵa shekem sanlardan turatıǵın dizim jaratıń
2. Dizimniń aqırǵı elementi menen birinshi elementin almastırıń
3. Dizimge jańa element qosıń hám onı sortırovkalań
4. Dizimniń barlıq elementlerin 2-ge kóbeytip shıǵıń
Sheshimi:
Kodqa táriyip
1. Dizim jaratıw bólimi:
• range(1, 11) funkciyası 1-den 10-ǵa shekem sanlar dizbegin dúzedi
• list() funkciyası bul dizbekti dizimge aylandıradı
• Nátiyjede [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] dizimi payda boladı
2. Elementlerdi almastırıw bólimi:
• sanlar[0] - dizimniń birinshi elementi (index 0)
• sanlar[-1] - dizimniń aqırǵı elementi
• = belgisiniń oń tárepindegi mánisler shep tárepke mánisleri menen almastırıladı
• Mısalı: [1, 2, 3, 4, 5] -> [5, 2, 3, 4, 1]
3. Element qosıw hám sortırovkalaw bólimi:
• append(5) metodı dizimniń aqırına 5 sanın qosadı
• sort() metodı dizimdi ósiwshi tártipte sortırovkalaydı
• Mısalı: [5, 2, 3, 4, 1, 5] -> [1, 2, 3, 4, 5, 5]
4. Elementlerdi 2-ge kóbeytiw bólimi:
Bul qatarda list comprehension (dizim túsiniw) qollanılǵan:
• for x in sanlar - dizimniń hár bir elementi ushın
• x * 2 - elementi 2-ge kóbeytiledi
• Nátiyjede jańa dizim dúziledi
• Mısalı: [1, 2, 3] -> [2, 4, 6]
Hár bir qádemnen keyin print() funkciyası arqalı nátiyjeler ekranǵa shıǵarılıp barıladı. Bul programmanıń jumısın kóriw hám qáteliklerin tabıw ushın paydalı.
ÁMELIY MÍSALLAR:
1. Studentler hám bahalar mısalı:
2. Jup sanlar mısalı:
3. Shopping list mısalı:
4. Sanlar dizimin filtrlew mısalı:
Bul baǵdarlamalardıń hár biri:
1. Funkciyalar arqalı strukturalanǵan
2. Anıq kommentariyalar menen táriplengen
3. Nátiyjeleri kórsetiletuǵın etip jazılǵan
4. Qáteliklersiz jumıs isleydi
1. Dizim (List) túsinigi
• Dizim - bir neshe elementlerdi óz ishine alǵan, tártiplengen hám ózgeriwshi maǵlıwmatlar strukturası
• Python tilinde dizimler [ ] qawsırmalar belgisi menen jaratıladı
• Dizim elementleri 0-den baslanǵan index boyınsha saqlanadı
2. Dizimniń tiykarǵı ózgeshelikleri:
• Dizimde hár túrli tipli elementler bolıwı múmkin (sanlar, tekstler, logikalıq maǵlıwmatlar)
• Dizim ózgeriwshi (mutable) esaplanadı
• Dizimde elementler qaytalanıwı múmkin
• Dizimde elementlerdiń tártibi saqlanadı
3. Dizimler menen islewdiń tiykarǵı operaciyaları:
• Dizim jaratıw
• Elementlerdi qosıw
• Elementlerdi óshiriw
• Elementlerdi ózgertiw
• Dizimdi sortırovkalaw
• Dizimdi kóshiriw
II. Ámeliy bólim
1. Dizim jaratıw hám elementlerge misal:
# Bos dizim
bos_dizim = []
# Sanlar dizimi
sanlar = [1, 2, 3, 4, 5]
# Hár túrli tipli elementler
aralas = [1, "text", True, 3.14]
2. Dizimge element qosıw:
# append() metodi arqalı
sanlar = [1, 2, 3]
sanlar.append(4) # [1, 2, 3, 4]
# insert() metodi arqalı
sanlar.insert(0, 0) # [0, 1, 2, 3, 4]
3. Dizimnen element óshiriw:
# remove() metodi arqalı
sanlar = [1, 2, 3, 4, 5]
sanlar.remove(3) # [1, 2, 4, 5]
# pop() metodi arqalı
sanlar.pop() # aqırǵı elementti óshiredi
4. Dizimdi sortırovkalaw:
# Ósiwshi tártipte
sanlar = [3, 1, 4, 1, 5, 9, 2]
sanlar.sort() # [1, 1, 2, 3, 4, 5, 9]
# Kemeyiwshi tártipte
sanlar.sort(reverse=True) # [9, 5, 4, 3, 2, 1, 1]
5. Dizimdi kóshiriw:
# Tuwrı kóshiriw (durıs emes)
a = [1, 2, 3]
b = a # b hám a bir dizimge siltelme boladı
# copy() metodi arqalı (durıs)
a = [1, 2, 3]
b = a.copy() # b jańa dizim boladı
Ámeliy tapsırma:
Tómendegi máselelerdi sheshiń:
1. 1-den 10-ǵa shekem sanlardan turatıǵın dizim jaratıń
2. Dizimniń aqırǵı elementi menen birinshi elementin almastırıń
3. Dizimge jańa element qosıń hám onı sortırovkalań
4. Dizimniń barlıq elementlerin 2-ge kóbeytip shıǵıń
Sheshimi:
# 1. Dizim jaratıw
sanlar = list(range(1, 11))
print("Dáslepki dizim:", sanlar)
# 2. Elementlerdi almastırıw
sanlar[0], sanlar[-1] = sanlar[-1], sanlar[0]
print("Almastırılǵannan keyin:", sanlar)
# 3. Element qosıw hám sortırovkalaw
sanlar.append(5)
sanlar.sort()
print("Sortırovkalanǵannan keyin:", sanlar)
# 4. Elementlerdi 2-ge kóbeytiw
sanlar = [x * 2 for x in sanlar]
print("Kóbeytilgennen keyin:", sanlar)
Kodqa táriyip
1. Dizim jaratıw bólimi:
sanlar = list(range(1, 11))
• range(1, 11) funkciyası 1-den 10-ǵa shekem sanlar dizbegin dúzedi
• list() funkciyası bul dizbekti dizimge aylandıradı
• Nátiyjede [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] dizimi payda boladı
2. Elementlerdi almastırıw bólimi:
sanlar[0], sanlar[-1] = sanlar[-1], sanlar[0]
• sanlar[0] - dizimniń birinshi elementi (index 0)
• sanlar[-1] - dizimniń aqırǵı elementi
• = belgisiniń oń tárepindegi mánisler shep tárepke mánisleri menen almastırıladı
• Mısalı: [1, 2, 3, 4, 5] -> [5, 2, 3, 4, 1]
3. Element qosıw hám sortırovkalaw bólimi:
sanlar.append(5)
sanlar.sort()
• append(5) metodı dizimniń aqırına 5 sanın qosadı
• sort() metodı dizimdi ósiwshi tártipte sortırovkalaydı
• Mısalı: [5, 2, 3, 4, 1, 5] -> [1, 2, 3, 4, 5, 5]
4. Elementlerdi 2-ge kóbeytiw bólimi:
sanlar = [x * 2 for x in sanlar]
Bul qatarda list comprehension (dizim túsiniw) qollanılǵan:
• for x in sanlar - dizimniń hár bir elementi ushın
• x * 2 - elementi 2-ge kóbeytiledi
• Nátiyjede jańa dizim dúziledi
• Mısalı: [1, 2, 3] -> [2, 4, 6]
Hár bir qádemnen keyin print() funkciyası arqalı nátiyjeler ekranǵa shıǵarılıp barıladı. Bul programmanıń jumısın kóriw hám qáteliklerin tabıw ushın paydalı.
ÁMELIY MÍSALLAR:
1. Studentler hám bahalar mısalı:
# Studentler hám bahalar baǵdarlaması
def student_bahalar():
# 1. Dizimlerdi jaratıw
studentler = ["Arman", "Berdaq", "Gúlnaz", "Dawlet"]
bahalar = [85, 92, 78, 95]
# 2. Eń joqarı bahanı tabıw
joqarı_baha = max(bahalar)
joqarı_index = bahalar.index(joqarı_baha)
joqarı_student = studentler[joqarı_index]
# 3. Ortalıq bahanı esaplaw
ortalıq_baha = sum(bahalar) / len(bahalar)
# 4. Nátiyjelerin kórsetiw
print("Student bahalarınıń analizi:")
print("-" * 30)
# Hár bir studenttiń bahasın kórsetiw
for i in range(len(studentler)):
print(f"{studentler[i]}: {bahalar[i]}")
print("-" * 30)
print(f"Eń joqarı baha: {joqarı_baha}, Student: {joqarı_student}")
print(f"Ortalıq baha: {ortalıq_baha:.2f}")
# Baǵdarlamanı jumıs isletiw
student_bahalar()
2. Jup sanlar mısalı:
# Jup sanlar menen isleytuǵın baǵdarlama
def qos_sanlar_baǵdarlaması():
# 1. Jup sanlar dizimin jaratıw (2 den 20 ǵa shekem)
sanlar = list(range(2, 21, 2))
print("Dáslepki qos sanlar dizimi:", sanlar)
# 2. Dizimge jańa element qosıw
sanlar.append(22)
print("22 qosılǵannan keyin:", sanlar)
# 3. Dizimdi kerisine aylandırıw
sanlar.reverse()
print("Kerisine aylanǵan dizim:", sanlar)
# 4. Dizimniń barlıq elementlerin 2 ge kóbeytiw
jańa_sanlar = [san * 2 for san in sanlar]
print("Elementler 2 ge kóbeytirilgennen keyin:", jańa_sanlar)
# 5. Dizimniń ulıwma maǵlıwmatların kórsetiw
print(f"\nDizim haqqında maǵlıwmatlar:")
print(f"Dizim uzınlıǵı: {len(sanlar)}")
print(f"Eń kishi san: {min(sanlar)}")
print(f"Eń úlken san: {max(sanlar)}")
print(f"Barlıq sanlardıń qosındısı: {sum(sanlar)}")
# Baǵdarlamanı jumıs isletiw
qos_sanlar_baǵdarlaması()
3. Shopping list mısalı:
# Shopping list baǵdarlaması
def shopping_list_baǵdarlaması():
# 1. Bos shopping list jaratıw
shopping_list = []
# 2. Funkciyalar
def produkt_qosıw(produkt):
shopping_list.append(produkt)
print(f"{produkt} shopping listke qosıldı")
def produkt_óshiriw(produkt):
if produkt in shopping_list:
shopping_list.remove(produkt)
print(f"{produkt} shopping listten óshirildi")
else:
print(f"{produkt} shopping listte joq")
def shopping_list_kórsetiw():
if shopping_list:
print("\nShopping list:")
for i, item in enumerate(shopping_list, 1):
print(f"{i}. {item}")
else:
print("\nShopping list bos")
# 3. Shopping listke produktlar qosıw
produkt_qosıw("alma")
produkt_qosıw("nan")
produkt_qosıw("sút")
produkt_qosıw("gósht")
# 4. Shopping listti kórsetiw
shopping_list_kórsetiw()
# 5. Bir produkttı óshiriw
produkt_óshiriw("alma")
# 6. Jańa halattı kórsetiw
shopping_list_kórsetiw()
# 7. Bar/joq produkttı óshirip kóriw
produkt_óshiriw("balıq")
# Baǵdarlamanı jumıs isletiw
shopping_list_baǵdarlaması()
4. Sanlar dizimin filtrlew mısalı:
# Sanlar dizimin filtrlew baǵdarlaması
def sanlar_filtrlew():
# 1. 1 den 20 ǵa shekem sanlar dizimin jaratıw
sanlar = list(range(1, 21))
print("Dáslepki sanlar dizimi:", sanlar)
# 2. Taq sanlar dizimin jaratıw
taq_sanlar = [san for san in sanlar if san % 2 != 0]
print("Taq sanlar:", taq_sanlar)
# 3. Jup sanlar dizimin jaratıw
qos_sanlar = [san for san in sanlar if san % 2 == 0]
print("Qos sanlar:", qos_sanlar)
# 4. 5 ke bólinetuǵın sanlar
bes_bóliniwshi = [san for san in sanlar if san % 5 == 0]
print("5 ke bólinetuǵın sanlar:", bes_bóliniwshi)
# 5. 10 nan úlken sanlar
on_úlken = [san for san in sanlar if san > 10]
print("10 nan úlken sanlar:", on_úlken)
# 6. Statistika kórsetiw
print("\nStatistika:")
print(f"Taq sanlar sanı: {len(taq_sanlar)}")
print(f"Qos sanlar sanı: {len(qos_sanlar)}")
print(f"5 ke bólinetuǵın sanlar sanı: {len(bes_bóliniwshi)}")
print(f"10 nan úlken sanlar sanı: {len(on_úlken)}")
# Baǵdarlamanı jumıs isletiw
sanlar_filtrlew()
Bul baǵdarlamalardıń hár biri:
1. Funkciyalar arqalı strukturalanǵan
2. Anıq kommentariyalar menen táriplengen
3. Nátiyjeleri kórsetiletuǵın etip jazılǵan
4. Qáteliklersiz jumıs isleydi