:
takrorlanuvchi qism
Bu yerda shart rost bo'lganda takrorlanuvchi qism bajariladi.
For va While operatori yordamida quyidagi masalarni dasturini tuzamiz.
1-masala. "Hello World" so'zini 10 marta ekranga chiqaruvchi dastur tuzing.
for i in range(10):print("Hello World")
While yordamida
i=1
while i<=10:
print("Hello World")
i+=1
2-masala. 1 dan 100 gacha bo'lgab sonlarni ekranga chiqaruvchi dastur tuzing.
for i in range(1,101,1):
print(i)
While yordamida
i=1
while i<=100:
print(i)
i+=1
3-masala. 1 dan 100 gacha bo'lgan toq sonlarni chiqaruvchi dastur tuzing.
for i in range(1,100,2):
print(i)
While yordamida
i=1
while i<=100:
if i%2!=0:print(i)
i+=1
4-masala. 1 dan 10 gacha bo'lgan sonlarning kvadratini chiqaruvchi dastur tuzing.
for i in range(1,11,1):
print(i*i)
While yordamida
i=1
while i<=10:
print(i*i)
i+=1
5-masala. n dan m gacha bo'lgan juft sonlarni chiqaruvchi dastur tuzing.
n=int(input("n sonini kiriting: "))
m=int(input("m sonini kiriting: "))
for i in range(n,m+1,1):
if i%2==0:print(i)
While yordamida
n=int(input("n sonini kiriting: "))
m=int(input("m sonini kiriting: "))
while n<=m:
if n%2==0:print(n)
n+=1
6-masala. 1 dan n gacha bo'lgan sonlarning yig'indisini hisoblovchi dastur tuzing.
n=int(input("n sonini kiriting: "))
s=0
for i in range(1,n+1,1):
s=s+i
print(s)
While yordamida
n=int(input("n sonini kiriting: "))
s=0
i=1
while i<=n:
s=s+i
i+=1
print(s)
3-masala. 1 dan 100 gacha bo'lgan toq sonlarni chiqaruvchi dastur tuzing.
for i in range(1,100,2):
print(i)
While yordamida
i=1
while i<=100:
if i%2!=0:print(i)
i+=1
4-masala. 1 dan 10 gacha bo'lgan sonlarning kvadratini chiqaruvchi dastur tuzing.
for i in range(1,11,1):
print(i*i)
While yordamida
i=1
while i<=10:
print(i*i)
i+=1
5-masala. n dan m gacha bo'lgan juft sonlarni chiqaruvchi dastur tuzing.
n=int(input("n sonini kiriting: "))
m=int(input("m sonini kiriting: "))
for i in range(n,m+1,1):
if i%2==0:print(i)
While yordamida
n=int(input("n sonini kiriting: "))
m=int(input("m sonini kiriting: "))
while n<=m:
if n%2==0:print(n)
n+=1
6-masala. 1 dan n gacha bo'lgan sonlarning yig'indisini hisoblovchi dastur tuzing.
n=int(input("n sonini kiriting: "))
s=0
for i in range(1,n+1,1):
s=s+i
print(s)
While yordamida
n=int(input("n sonini kiriting: "))
s=0
i=1
while i<=n:
s=s+i
i+=1
print(s)
while operatori
while operatori ma'lum shartlar qanoatlantirganda buyruqlar blokining ko'p marta bajarilish imkonini beradi. Bu sikl operatorlari deb nomlanuvchi operatorlardan biri hisoblanadi. U ham majburiy bo'lmagan else qismiga ega.
Misol: (while.py nomi bilan saqlang)
number = 23
running = Tru
while running:
guess = int(input("Butun son kiriting : "))
if guess == number:
print("Tabriklayman, siz topdingiz.")
running = False # bu ifoda while siklini to'xtatish uchun hizmat qiladi.
elif guess < number:
print("Yo'q, o'ylangan son kiritilgan sondan kattaroq.")
else:
print("Yo'q, o'ylangan son kiritilgan sondan kichikroq.")
else:
print("while sikli tugadi.")
# Bu yerda siz ya'na nima zarur bo'lsa, bajarishingiz mumkin.
print("Tamom.")
Natija:
$ python while.py
Butun son kiriting : 50
Yo'q, o'ylangan son kiritilgan sondan kichikroq.
Butun son kiriting : 22
Yo'q, o'ylangan son kiritilgan sondan kattaroq.
Butun son kiriting : 23
Tabriklayman, siz topdingiz.
while sikli tugadi.
Tamom.
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.
break operatori agar siklning bajarilish sharti hali False qiymat olmagan bo'lsa ham yoki ketma-ketlik elemantlari hali tugamagan bo'lsa ham siklni to'xtatish, ya'ni buyruqlar bajarilishini to'xtatish uchun xizmat qiladi.
Shuni aytib o'tish kerakki, for yoki while sikllarini break operatori bilan to'xtatilsa, ularga tegishli bo'lgan else bloki bajarilmaydi.
Misol: (break.py nomi bilan saqlang)
Source code
while True:
s = input("Nimadir kiriting : ")
if s == "exit":
break
print("Satr uzunligi: ", len(s))
print("Tamom")
Natija: $ python break.py Nimadir kiriting : Dasturlash qiziq. Satr uzunligi: 17 Nimadir kiriting : Agar ish zerikarli bo’lsa, Satr uzunligi: 27 Nimadir kiriting : Unga berish uchun quvonchli ton Satr uzunligi: 32 Nimadir kiriting : Ishlating Python. Длина строки: 17 Nimadir kiriting : exit Tamom Bu qanday ishlaydi: Bu dasturda biz foydalanuvchi tomonidan ko’p marta kiritilgan qiymatni olamiz va uning uzunligini ekranga chop etamiz. Dasturni to’xtatish uchun biz maxsus tekshirish yordamida foydalanuvchi kiritgan qiymat ‘exit’ satri bilan mos kelishligini tekshiramiz. Agar mos kelsa, siklni break sikl to’xtatish operatori bilan to’xtatamiz va dasturni oxiriga yetamiz. Kiritilgan satr uzunligi len funksiyasi yordamida topiladi. Eslab qoling, break operatori for siklida ham ishlatilishi mumkin.
continue operatori
continue operatori joriy blokdagi o’zidan keyingi qolgan barcha buyruqlarni bajarmay siklning keyingi iteratsiyasidan davom ettirish uchun ishlatiladi. Misol: (continue.py nomi bilan saqlang)
Source code
while True:
s = input("Nimadir kiriting : ")
if s == "exit":
break
if len(s) < 3:
print("Juda ham kam")
continue
print("Kiritilgan satr yetarli darajada uzun")
# Boshqa har-xil buyruqlar...
Natija:
$ python continue.py
Nimadir kiriting : a
Juda ham kam
Nimadir kiriting : 12
Juda ham kam
Nimadir kiriting : abc
Kiritilgan satr yetarli darajada uzun
Nimadir kiriting : exit
Bu qanday ishlaydi:
Bu dasturda biz foydalanuvchidan biror qiymat kiritishini so’raymiz, kiritilgan qator uzunligi 3 dan katta bo’lsa, tegishli amallarni bajaramiz. Satr uzunligini hisoblash uchun len funksiyasini ishlatdik va agar satr uzunligi 3 dan kichik bo’lsa, qolgan amallarni continue operatori yordamida bajarmay, siklning keyingi iteratsiyasiga o’tamiz. Aks holda biz uchun kerakli amallarni bajaruvchi buyruqlar bajariladi.
Eslab qoling, continue operatoti for sikli bilan ham ishlaydi.
Bu darsimizda buyruqlar ketma-ketligini boshqaruvchi uchta if, while va for operatorlari hamda ular bilan bog’liq bo’lgan break va continue operatorlaridan qanday foydalanishni ko’rib chiqdik. Bular Pythonning eng ko’p ishlatiladigan konstruksiyalaridan hisoblanadi. Shuning uchun ulardan foydalana olish ko’nikmasi juda ham muxim.