29-dars. Python 2.7 da ro’yxatlar va for tsikli nima

Oldingi darsda biz o’rnatilgan if-else-elif bloklari bilan interaktiv skript yaratishni o’rgandik – 28-darsga o’ting . 
Bugungi darsda biz tsikl va ro’yxatlar bilan tanishamiz for, ular nima ekanligini bilib olamiz va bir nechta shunday ro’yxatlar tuzamiz.

Ro’yxatlar nima?

Python-da ro’yxatlar turli xil ma’lumotlarni saqlash uchun ishlatilishi mumkin.

Mana shunday ro’yxatga misol:

komanda_1 = ['Spartak', 'Dinamo', 'Avangard']

Ro’yxat kvadrat qavs bilan boshlanadi, unda ro’yxatning elementlari qo’shtirnoq ichida, vergul bilan ajratiladi va kvadrat qavs bilan ham yopiladi. Agar ro’yxat elementlari ruscha so’zlardan iborat bo’lsa, siz har bir so’zdan oldin harf bilan qo’yishingiz kerak u. Raqamlarni qo’shtirnoqsiz ko’rsatish mumkin.

Ro’yxatlar o’zgaruvchilarga tayinlanishi mumkin.

komanda_2 = [u'Spartak', u'Dinamo', u'Avangard']
ochki = [5,6,7,8,9]

Biz ro’yxatdagi ba’zi elementlarni ko’rsatishimiz mumkin. Buning uchun siz uning indeksini (ya’ni ro’yxatdagi seriya raqamini) ko’rsatishingiz kerak.

Esingizda bo’lsin: ro’yxat elementlari indeksi har doim 0 dan boshlanadi. Ya’ni ro’yxatda  ochkibirinchi raqam 5 indeks 0, ikkinchi raqam 6 indeks 1, uchinchi raqam 7 indeks 2 va hokazo. Eslab qolish qulayligi uchun: uchinchi raqam minus 1 2 ga teng – bu ro’yxatning uchinchi elementining indeksidir. 

Bizning ro’yxatimizdan 9 raqamining indeksini qanday topish mumkin? 9 raqami – beshinchi raqam. Shunday qilib, 5-1 = 4. Shunday qilib, 9 raqamining indeksi 4 ga teng. 

Shunday qilib, agar kodni yozsak:

chop etish(ochki[2])

Keyin Python 7 raqamini ko’rsatadi.

Buni fayl yaratish orqali sinab ko’ring .py, quyidagi kodni kiriting va PowerShell dasturida nima sodir bo’lishini ko’ring:

# -*- kodlash: utf-8 -*-
ochki = [5,6,7,8,9] 
chop etish (ochki [2])

Roʻyxatdagi elementlarning umumiy sonini bilish uchun funksiyadan foydalaninglen() 

Kodni faylga .pyyozing va uni PowerShell-da oching:

# -*- kodlash: utf-8 -*-
ochki = [5,6,7,8,9] 
summa = len (ochki)
chop etish (summa)

Keyinchalik dastur kodida, loop yordamida  forbiz ushbu ro’yxatlarni qayta ishlashimiz mumkin.

Tsikl nima for?

Python-da bir nechta bir xil amallarni bajarish uchun tsikllar mavjud. 

Masalan, o’yin jadvalidagi barcha KHL jamoalari uchun biz bitta amalni bajarishimiz kerak – ekranda har bir jamoaning nomini chop etish. Va 20 ta buyruq bo’lishi mumkin 20 qatorli matnni chop etmaslik uchun siz for loop kodini yozishingiz mumkin va Python hamma narsani o’zi chop etadi.

Tsikl  for aytadigan ko’rinadi –  для elementlar  списке xxx: va keyin nima qilish kerakligi haqidagi buyruqni bajaradi. Ro’yxatda qayta ishlanmagan elementlar mavjud ekan, tsikl  for tugamaydi. Oxirgi element qayta ishlanishi bilanoq, tsikl tugaydi va Python tsikldan keyin asosiy kodga o’tadi. Shunday qilib, tsikl bu yoki boshqa kodni qayta ishlash uchun Pythonning tsiklik ishi. Ammo ba’zida, agar tsikl noto’g’ri yaratilgan bo’lsa, Python ishi tsiklga o’tadi va dastur abadiy qotib qoladi. 

Shuni ham unutmangki, biz tsiklning boshlanishini yozadigan satrda  forbiz oxiriga ikki nuqta qo’yamiz va tsikldagi barcha keyingi qatorlar biz 4 ta bo’shliqdan iborat bo’shliq bilan boshlaymiz. Tsikl tugashi bilan biz keyingi kodni yana yangi qatorga yozishni boshlaymiz.

For tsiklidan tashqari, Python ham, masalan, while tsikliga ega – tsikl haqidagi darsga o’tingwhile .

Case Study

Ish stolida fayl yarating, test24.pyfaylni kodlash haqida unutmang. Unga quyidagi dastur kodini qo’lda yozamiz. 

# -*- kodlash: utf-8 -*-

komanda_1 = ['Spartak', 'Dinamo', 'Avangard']
komanda_2 = [u'Spartak', u'Dinamo', u'Avangard']
ochki = [5,6,7,8,9]

Loop jarayonlari ro'yxati uchun # birinchi turdagi
komanda_1 da komand uchun:
    u "Buyruq %s" % buyrug'ini chop eting

# va hozir - rus tilidagi ismlar bilan
komanda_2 da komand uchun:
    u "Buyruq %s" % buyrug'ini chop eting
	
# endi esa
# ro'yxatni jamoalar olgan sport ochkolari bilan qayta ishlang
ochki ko'rsatish uchun:
    "%s" % pokazatel, u" nuqtalarini chop eting."
		
# roʻyxatni aralashtirish mumkin
komandy_khl = [u'Spartak', 20, u'Dinamo', 12, u'Avangard', 16]
komandy_khl dagi elementlar uchun:
    u"Element %s" % elementlarini chop eting


Kodning qisqacha tushuntirishi

Aslida, bu erda sharhlardan kodgacha hamma narsa aniq.

Avval biz uchta ro’yxat tuzamiz.

Keyin, for tsiklidan foydalanib, birinchi ro’yxatni, keyin ikkinchisini, keyin uchinchisini qayta ishlaymiz.

Keyinchalik, biz matn va raqamlar qatorlaridan iborat aralash ro’yxatni yaratamiz, shuningdek, uni loop yordamida qayta ishlaymiz for.

Endi PowerShell dasturini oching va buyruqni kiriting:python desktop/test24.py

Oxir-oqibat, siz rasmdagi kabi natija olishingiz kerak.

Uy vazifasi

  1. Har qanday mavzu bo’yicha uch xil ro’yxat tuzing.
  2. O’zgaruvchilar nomlarini o’zgartiring.

Keyingi darsda biz pastadir konstruktsiyalari uchun murakkabroq narsalarni ko’rib chiqamiz – 30-darsga o’ting .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *