print(«Kirishga ruxsat beriladi») else:
print(«Kirishga ruxsat berilmaydi»)
Agar yoshi >18 shart bajarilsa if blokidagi aks holda else blokidagi amallar bajariladi. Bir necha alternativ shartlarni ishlatish uchun qo‘shimcha elif blokidan foydalaniladi.
1
2
3
4
5
6
7
8
|
# ax^2+bx+c=0 kvadrat tenglama echimlari soni
a= int(input(«a=«))
b= int(input(«b=«))
c= int(input(«c=«)) d = b**2 - 4*a*c
if d >0:
print(«Tenglama 2 ta haqiqiy echimga ega») elif d == 0:
print(«Tenglama 1 ta haqiqiy echimga ega») else:
print(«Tenglama haqiqiy echimga ega emas»)
|
Ichma-ich joylashgan if shart amali. if shart operatori o‘z navbatida boshqa if shart operatorlaridan tashkil topgan bo‘lishi mumkin. Bunday holatga ichma – ich joylashgan shart ifodasi deyiladi. Masalan:
1
2
|
protsent = int(input(«Protsentni kiriting: «))
if protsent > 10:
|
3
4
|
print(«10% dan katta») if protsent > 20:
print(«20% dan katta»)
|
Yuqoridagi misolda ichki if ifodasi tashqarisidagiga nisbatan bitta xat boshi tashlab yozilili shart, aks holda ichma – ich joylashgan shatr operatori bo‘lmay, alohida shart operatori hosil qilingan bo‘ladi. Quyidagi if operatoriga misolda oylik maoshdan shkala bo‘yicha tutib qolinadigan jami daromad solig’ini hisoblovchi dastur tuzilgan:
1
2
3
4
5
6
7
8
9
10
|
# Qoidaga ko‘ra daromad solig’i eng kam ish haqiga(EKIH) bog’liq
maosh = int(input(«Oylin summasini kiriting»)) EKIH = int(input(«Eng kam ish haqini kiriting»)) dar_soliq =0
if maosh < 6 * EKIH: dar_soliq= maosh*0.065
elif maosh< 10 * EKIH:
dar_soliq = 6 * EKIH * 0.065 + (maosh - 6* EKIH)* 0.165
else:
dar_soliq = 6 * EKIH * 0.065 + 4 * EKIH * 0.165 \
+ (maosh - 10* EKIH)* 0.225 print(«Oylikdan ushab qolingan darmod solig’i: «,dar_soliq)
|
Sikl operatorlari
Odatda sikl operatorlari biror-bir jarayonni qandaydir shart asosida takrorlash uchun ishlatiladi. Python da sikl operatorlarining ikki turi, while va for qaraladi.
while takrorlash operatori while takrorlash operatori quyidagi umumiy ko‘rinishga ega: while shart ifodasi: yo‘riqnomalar while kalit so‘zidan keyin shart ifodasi ko‘rsatiladi va ushbu shart ifodasi rost qiymat (True) bo‘lar ekan amallar ketma-ketligi takror va takror bajarilishdadavom ettiriladi. while operatorining barcha insturtsiyalari undan keyingi qarorda yoziladi va u while kalit so‘zidan bitta xat boshi tashlab yoziladi. Masalan:
1
2
3
4
5
|
sum = 0
n = int(input(«n=«)) i = 1
while i <= n:
sum = sum + i i += 1
print(«summa(1+...+n) =«, sum)
|
Yuqoridagi misolda 1 dan n gacha bo‘lgan sonlar yig’indisi hisoblash dasturi while operatori yordamida amalga oshirilgan. E’tibor berilsa while operatorining insturktsiyalari undan keyingi qatorda bitta xat boshi tashlab yozilgan. Ushbu holatda while operatori 2 ta instuktsiyalardan tashkil topgan
(sum = sum + i va i+= 1).
Yana bir takrorlash operatori – for operatori hisoblanadi. for takrorlash operatori qandaydir sonlar kollektsiyasidagi har bir son uchun chaqiriladi. Sonlar kollektsiyasi range() funksiyasi, list() funksiyasi yoki [,] qavslarda foydalanuvchi tomonidan shakllantirilgan ro‘yxatlar orqali hosil qilinadi. Quyida for takrorlash operatorining formal aniqlanishi keltirilgan:
for int_var in funksiya_range:
yo‘riqnomalar
for kalit so‘zidan keyin int_var o‘zgaruvchi si (o‘zgaruvchi nomi ixtiyoriy bo‘lishi mumkin) keladi va u faqat butun turdagi qiymatlar qabul qiladi, undan keyin in kalit so‘zi (in operatori) va range funksiyasi chaqirilgan va oxirida “:” belgisi bilan takrorlash operatori asosiy qismi tugaydi. for takrorlash operatorining tana qismi bir yoki bir nechta yo‘riqnomalardan tashkil topishi mumkin va ular asosiy qismga nisbatan bitta xat boshi tashlab yoziladi. Takrorlash operatori bajarilganda range() funksiyasi hosil qilgan sonlar kolleksiyasidan sonlar ketma-ket int_var o‘zgaruvchi siga uzatiladi. Sikl bo‘yicha barcha sonlar ketma-ket o‘tib bo‘lingandan keyin takrorlash operatori o‘z ishiti tugatadi. Quyida 1 dan n gacha bo‘lgan sonlar yig’indisini hisoblash dasturi for
operatori yordamida amalga oshirilgan:
1
2
3
4
|
sum = 0
n = int(input(«n=«))
for i in range(1,n+1): sum = sum + i
print(«summa(1+...+n) =«, sum)
|
Dastlab konsol ekranidan butun son kiritiladi. Siklda i o‘zgaruvchi si aniqlangan bo‘lib, u range() funksiyasidan qaytarilgan qiymatni o‘zida saqlaydi. Bu yerda range() funksiyasi 2 ta parametr qabul qilgan. Birinchisi sonlar kollektsiyasini boshlang’ich qiymati va ikkinchisi oxirgi qiymati ( oxirgi qiymat kollektsiyaga kirmaydi). Natijada range() funksiyasi [1,…,n-1] intervaldagi sonlarni ketma-ket qiymat sifatida qaytaradi va har bir qiymat uchun sikl operatorining tana qismi bajariladi.
range funksiyasi. range funksiyasining quyidagi shakllari mavjud:
range(stop) – 0 dan stop gacha (stop kirmaydi) bo‘lgan barcha sonlarni qaytaradi;
range(start, stop) – start(kiradi) dan stop (kirmaydi) gacha bo‘lgan barcha butun sonlarni qaytaradi;
range(start, stop, step) – start (kiradi) dan stop (kirmaydi) gacha bo‘lgan barcha butun sonlar step qadam bilan hosil qilinadi va qaytaradi.
Masalan:
1
2
3
4
|
print(list(range(5))) #[0, 1, 2, 3, 4]
print(list(range(1,5))) #[1, 2, 3, 4]
print(list(range(1,5,2))) #[1, 3]
print(list(range(-5,5,3))) #[-5, -2, 1, 4]
|
Bu yerda range(5) funksiyasi [0, 1, 2, 3, 4] oraliqdagi sonlar kollektsiyasini qaytargan va qaytarilgan sonlarni ro‘yхatda jamlash uchun list() funksiyasi qo‘llanilgan. range() funksiyasining boshqa holatlarda qanday qiymatlar hosil qilishini yuqoridagi dasturdan ko‘rish mumkin.
Ichma-ich joylashgan sikllar. Biror bir takrorlash operatori tanasida boshqa takrorlash operatorining ishlatilishiga ichma-ich joylashgan sikl deyiladi. Masalan:
1
2
3
|
for i in range(1, 5):
for j in range(1, 5): print(i + j, end=«\t»)
print(«\n»)
|
Natija konsolda quyidagi ko‘rinishda chiqariladi:
Natijaning konsol ekranidagi ko‘rinishi
Yuqoridagi holatda for i in range(1,5) bo‘yicha tashqi siklning har bir iteratsiyasi uchun, for j in range(1,5) bo‘yicha ichki sikl bajariladi.
Sikldan chiqish. break va continue operatorlari. Sikllarni boshqarish uchun break va continue kabi maxsus operatorlardan foydalaniladi. break operatori sikldan chiqish uchun ishlatiladi. continue operatori siklning navbatdagi iteratsiyasiga o‘tish uchun ishlatiladi. Odatda break operatori siklda shart operatorlari bilan birga qo‘llaniladi, masalan:
1
2
3
|
while True:
ch = input(«Chiqish uchun ‘Y’ klavishini bosing») if ch.lower() == ‘y’:
break
|
5
6
7
8
|
s=0
n = int(input(«n=«))
for i in range(1,n+1): s += i
print(«Summa(1,...,n)=«,s)
|
Yuqoridagi dasturda foydalanuvchi tomonidan kiritilgan n uchun 1 dan n gacha bo‘lgan sonlar yig’indisini hisoblash amalga oshirilgan. Agar foydalanuvchi yana boshqa son uchun yig’indini hisoblamoqchi bo‘lsa, dasturdan chiqib ketmasdan uni davom ettirishi mumkin. Buning uchun u „Y‟ belgisidan boshqa ixtiyoriy belgini ekrandan kiritishi kerak. Sikldan chiqish sharti if ch.lower() == ‘y’ da tekshirilgan.
MUHOKAMA UCHUN SAVOLLAR
1.Python dasturlash tilining qanday imkoniyatlarga ega?
2. Python dasturlash tilini qanday o‘rnatiladi?
3. Dasturlash tilida asosiy operatorlari?
4. O‘zgaruvchi nima?
5. Operator nima va dasturlash tilida qanday operatorlar bor?
6. Operand nima?
7. For operatori qanday operator hisoblanadi?
8.Mantiqiy amallar va munosabatlar.
9.Tarmoqlanuvchi dastur tuzilmasi.
10.Shartli, shartsiz va tanlash operatorlari.
11.Takrorlash operatorlari.
|