Bu qanday ishlaydi:
Bu dasturda biz son topish o'ynini o'ynashni davom ettiramiz. Lekin buning afzalligi shundaki, foydalanuvchi sonni topguncha qayta-qayta harakat qilishi mumkin bo'ladi va undan dasturni qayta-qayta ishga tushirish talab qilinmaydi. Bu while operatorining qo'llanilishini ochiq ko'rsatib beradi. Biz input funksiyasi va if operatorini while sikli ichiga joylashtirdik va siklni boshlashdan oldin running o'zgaruvchisi qiymatini True ga tenglab oldik. Shundan so'ng tegishli while-blok qismiga o'tish sodir bo'ladi. Bu blok bajarilgandan so'ng running o'zgaruuvchisi yana tekshiriladi. Agar u rost bo'lsa, while-blok yana ishga tushiriladi, aks holda qo'shimcha else-blokiga o'tiladi. So'ng keyingi ifodaga o'tiladi.
else bloki while siklini sharti yolg'on bo'lganda bajariladi. Bu shartni birinchi marta tekshirilishida ham sodir bo'lishi mumkin. Agar while sikli else qo'shimcha blokiga ega bo'lsa u doimo bajariladi. Faqatgina while bloki ichida sikl break operatori bilan tugatilganda, boshqaruv sikldan keyingi operatorlarga o'tkaziladi.
for operatori
for .. in operatori ob'yektlar ketma-ketligida iteratsiyani amalga oshiruvchi, ya'ni ketma-ketlikning xar bir elementi orqali o'tuvchi sikl operatori hisoblanadi. Ketma-ketliklar haqida keyingi darslarimizda imkon qadar tanishishga harakat qilamiz. Lekin xozircha ketma-ketliklar — bu tartiblangan elementlar to'plami ekanligini esalb qoling.
Misol: (for.py nomi bilan saqlang)
for i in range(1, 5):
print(i)
else:
print("Sikl tugadi")
python for.py
Sikl tugadi
Bu qanday ishlaydi:
Bu dasturda biz sonlar ketma-ketligini ekranga chop etamiz. Bu ketma-ketlikni biz range funksiyasi yordamida generatsiya qilamiz.
Biz ikkita son beramiz va range funksiyasi bizga birinchi sondan ikkinchi songacha bo'lgan sonlar ketma-ketligini qaytaradi. Misol uchun, range(1,5) bizga [1, 2, 3, 4] ketma-ketligini beradi. O'z holicha range funksiyasi qadami qiymati 1 ga teng. Agar biz range funksiyasiga uchinchi sonni bersak, bu uning uchun qadam qiymati bo'lib xizmat qiladi. Misol uchun, range(1,6,2) bizga [1, 3, 5] ni beradi. Esda saqlang, range funksiyasi ikkinchi songacha boradi, ammo uni olmaydi.
So'ng for sikli ushbu — for i in range(1,5) ekvivalenti bo'lgan for i in [1, 2, 3, 4] diapazoni bo'ylab iteratsiyani amalga oshiradi. Bunda i o'zgaruvchiga har bir iteratsiyada bittadan son (yoki ob'yekt) biriktiradi va har bir i ning qiymati uchun buyruqlar bloki bajariladi. Bu holatda biz buyruqlar blokida i qiymatini ekranga chop etyapmiz.
Eslab qoling else majburiy emas. Agar u mavjud bo'lsa, for sikli tugaganidan so'ng bir marta bajariladi. Lekin bunda ham while kabi sikl brek operatori bilan tugatilmagan bo'lishi kerak.
Ya'na eslab qolingki, for..in sikli barcha ketma-ketliklar bilan ishlaydi. Bizning holatda bu range funksiyasi bilan generatsiya qilingan sonlar ketma-ketligi edi. Umuman olganda, ixtiyoriy ob'yektni ixtiyoriy ketma-ketligi bilan ishlatish mumkin.
Do'stlaringiz bilan baham: |