Dars 02
Amallarni takrorlash va kolleksiyalar bilan ishlash
O'tilgan mavzular
Bugun
Motivatsiya
Dastur shart bajarilgunicha yoki butun kolleksiyani o'tib bo'lguncha bir xil kod blokini ko'p marta bajaradi.
Mavzu 14
Shart rost bo'lguncha kod blokini takrorlaydi
Shart → blok → shartga qaytish. Shart yolg'on bo'lganda sikl tugaydi.
Bosqichma-bosqich
Har takrorlash: shartni tekshirish → blokni bajarish → qaytish
| i | i ≤ 5 | |
|---|---|---|
| 1 | True | 1 |
| 2 | True | 2 |
| 3 | True | 3 |
| 4 | True | 4 |
| 5 | True | 5 |
| 6 | False | chiqish |
Misol
Akkumulyator-o'zgaruvchi shart bajarilgunicha natijani to'playdi.
Diqqat
Agar shart hech qachon yolg'on bo'lmasa, dastur qotib qoladi
Bajarilishni terminalda Ctrl + C orqali yoki Jupyter'dagi to'xtatish tugmasi bilan to'xtating.
Savol
1 2 3 4 55 4 3 2 15 4 3 2 1 0Bir daqiqa o'ylab ko'ring →
Mavzu 15
Oldindan ma'lum sondagi takrorlash
i o'zgaruvchisi ketma-ketlikdan qiymatlarni navbat bilan oladi.
Bosqichma-bosqich
range() qiymatlarni beradi, sikl har biri uchun blokni bajaradi
| Takrorlash | i | i × i |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 4 |
| 3 | 3 | 9 |
| 4 | 4 | 16 |
| 5 | 5 | 25 |
Sikl ketma-ketlik tugaganda avtomatik to'xtaydi.
range()
Sonlar ketma-ketligini yaratadi
| Chaqiruv | Ketma-ketlik |
|---|---|
| range(5) | 0, 1, 2, 3, 4 |
| range(1, 6) | 1, 2, 3, 4, 5 |
| range(0, 10, 2) | 0, 2, 4, 6, 8 |
| range(10, 0, -1) | 10, 9, 8, ..., 1 |
Yakuniy qiymat diapazonga kiritilmaydi. range(5) 0 dan 4 gacha sonlarni beradi.
Misol
while-versiyasi bilan bir xil natija, lekin qisqaroq va hisoblagichni qo'lda boshqarmasdan.
Savol
Bir daqiqa o'ylab ko'ring →
Mavzu 16
Sikl ichidagi oqimni boshqarish
Siklni butunlay to'xtatadi. Qolgan barcha takrorlashlar o'tkazib yuboriladi.
Joriy takrorlashdagi qolgan kodni o'tkazib, keyingisiga o'tadi.
break
i 5 ga teng bo'lganida sikl to'xtaydi. 5–9 raqamlari chiqmaydi.
continue
Juft raqamlar o'tkazib yuboriladi. Sikl print ni chetlab keyingi takrorlashga o'tadi.
Mavzu 17
Tartiblangan elementlar kolleksiyasi
Ro'yxat turli ma'lumot turidagi elementlarni saqlay oladi. Elementlar tartibi saqlanadi.
Murojaat
Indekslash noldan boshlanadi
Kesimlar
list[start:end:step] — yakuni kiritilmaydi
Kesim yangi ro'yxat qaytaradi. Asl ro'yxat o'zgarmaydi.
Mavzu 18
| Metod | Amal |
|---|---|
| list.append(x) | Oxiriga element qo'shish |
| list.remove(x) | x ning birinchi takrorini o'chirish |
| list.pop() | Oxirgini o'chirib qaytarish |
| list.sort() | Joyida saralash |
| list.reverse() | Joyida teskariga o'girish |
| len(list) | Uzunlik (bu funksiya) |
Savol
[1, 2, 3][2, 3, 4][2, 3, 4, 5][1, 2, 3, 4]Bir daqiqa o'ylab ko'ring →
Mavzu 19
for ro'yxat bo'yicha bevosita, indekssiz
fruit o'zgaruvchisi ro'yxatning har bir elementini navbat bilan oladi.
Bonus
Satr belgilar ketma-ketligi kabi ishlaydi
Indeks orqali murojaat va kesimlar satrlar uchun ham ro'yxatlardagi kabi ishlaydi.
Amaliyot 1
Maslahat: juftlik tekshiruvi i % 2 == 0 orqali.
Yechim
Amaliyot 2
Maslahat: sum(list) va len(list) vazifani osonlashtiradi.
Yechim
Amaliy mashqlar
Dars mavzulari bo'yicha 10 ta vazifa. Jupyter yoki VS Code'da oching va mustaqil bajaring.
Xulosa
Funksiyalar va lug'atlar - kodni tashkil etish va «kalit-qiymat» tuzilmalari
Telegram: @gokalqurt