#18 WHILE, RO'YXATLAR VA LUG'ATLAR
While tsikli yordamida ro'yxatlar bilan ishlashni o'rganamiz.
Ro'yxatlar (lug'atlar) bilan ishlashda while tisklining foydalari juda ko'p. Misol uchun foydalanuvchidan bir nechta ma'lumotlarni qabul qilib olish, ro'yxatdan takrorlanuvchi qiymatlarni o'chirib tashlash yoki bir ro'yxatni ikkinchi ro'yxatga ko'chirishda while tsiklidan foydalanishimiz mumkin.
WHILE
YORDAMIDA RO'YXATNI TO'LDIRISH
WHILE
YORDAMIDA RO'YXATNI TO'LDIRISHQuyidagi dasturga e'tibor bering, avval ismlar degan bo'sh ro'yxat yaratib oldik. Keyin esa while tsikli yordamida foydalanuvchidan ro'yxatga ism qo'shishni so'raymiz. So'ngra foydalanuvchidan yana ism qo'shmoqchi yoki yo'q ekanin so'raymiz va foydalanuvchining javobiga ko'ra yoki while ni boshiga qaytamiz, yoki tsiklni to'xtatamiz.
WHILE
YORDAMIDA LUG'ATNI TO'LDIRISH
WHILE
YORDAMIDA LUG'ATNI TO'LDIRISHYuqoridagi usul bilan lu'gatlarni ham shakllantirishimiz mumkin. Quyidagi kodda ism
bu kalit, yosh
esa klaitga mos keluvchi qiymat. while
tsiklining davomiyligi esa ishora
ning qiymatiga bog'liq.
RO'YXAT ELEMENTLARINI O'CHIRISH
Avvalgi darslarimizning birida ro'yxat elementini o'chirish uchun .remove(qiymat)
metodi bilan tanishgan edik. Esingizda bo'lsa, bu metod ro'yxatdan eng birinchi uchragan qiymat
ni o'chiradi. Agar ro'yxatimizda ma'lum bir qiymat bir necha bor takrorlangan bo'lsa, ularning barchasini o'chirib tashlash uchun while
tsiklidan foydalanishmiz mumkin.
Natija: ['lacetti', 'toyota', 'audi', 'malibu']
Yuqoridagi tsikl toki cars
degan ro'yxatda 'nexia'
qiymati tugagunga qadar takrorlanaveradi.
RO'YXATDAN RO'YXATGA ELEMENT KO'CHIRISH
Tasavvur qiling bizda ma'lum bir ro'yxat bor, biz ro'yxatdagi har bir element ustida biror amalni bajarib, uni birinchi ro'yxatdan ikkinchi ro'yxatga ko'chirib olmoqchimiz. Shunday holatlarda while
tsikli juda qo'l keladi.
Quyidagi misolni ko'raylik. Bizda talabalar
ro'yxati bor. while
tsikli toki ro'yxatda talabalar bor ekan aylanaveradi. Tsikl ichida biz .pop()
metodi yordamida talabaning ismini ro'yxatdan sug'urib oldik va foydalanuvchidan talabani baholashni so'radik. Talabaning ismi va bahosini lug'at elementi ko'rinishida saqlab qo'ydik (talaba
- kalit, baho
- qiymat).
Yuqorida biz while tsikli yordamida ro'yxat va lug'atlar ustida bajarish mumkin bo'lgan ba'zi misollarni ko'rdik. Albatta dasturlash davomida bundan boshqa holatlar ham uchrashi tabiiy.
AMALIYOT
Foydalanuvchidan buyurtma qabul qiluvchi dastur yozing. Mahsulotlar nomini birma-bir qabul qilib, yangi ro'yxatga joylang.
e-bozor uchun mahsulotlar va ularning narhlari lug'atini shakllantiruvchi dastur yozing. Foydalanuvchidan lug'atga bir nechta elementlar (mahsulot va uning narhi) kiritishni so'rang.
Yuqoridagi ikki dasturni jamlaymiz. Foydalanuvchi buyurtmasi ro'yxatidagi har bir mahsulotni e-bozordagi mahsulotlar bilan solishitiring (tayyor ro'yxat ishlatishingiz mumkin). Agar mahsuot e-bozorda mavjud bo'lsa mahuslot narhini chiqaring, aks holda "Bizda bu mahsulot yo'q" degan xabarni kor'sating.
JAVOBLAR
GitHub
Repl.it
Last updated