For va While dan foydalanamiz. For



Download 12,93 Kb.
Sana03.06.2022
Hajmi12,93 Kb.
#631813
Bog'liq
algoritmmustaqilish


Python tilida ikkita takrorlash operatori For va While dan foydalanamiz. For operatori takrorlanishlar soni aniq bo'lganda foydalaniladi. Quyidagicha ko'rinishda yozishimiz mumkin:


for i in range(a, b, d):
takrorlanuvchi qism
Bu yerda i takrorlanishlar soni, a takrorlanishning birinchi qiymati, b takrorlanishning oxirgi qiymati, d qadam qiymati. For operatorining parametrlarini boshqacha ko'rinishda yozishimiz ham mumkin.
Takrorlanishlar soni oldindan aniq bo'lmaganda va qandaydir shartga bog'liq bo'lganda While operatoridan foydalanamiz. Quyidagicha ko'rinishda yozishimiz mumkin:
while :
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.

Download 12,93 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish