Python dasturlash tili: 4-dars
Taqqoslash operatorlari ikkita qiymatni taqqoslash uchun ishlatiladi:
Python-dagi operatorlar
Python quyidagi turdagi operatorlarni qo’llab-quvvatlaydi:
- Arifmetik operatorlar
- Taqqoslash operatorlari
- Topshiriq operatorlari
- Mantiqiy operatorlar
- Bitwise operatorlari
- A’zolik operatorlari
- Identifikatsiya operatorlari
Keling, ushbu operatorlarning har biri haqida batafsil bilib olaylik.
Python-dagi arifmetik operatorlar
C / C ++ yoki Java kabi tillarda qo’llab-quvvatlanadigan deyarli barcha operatorlar Python-da qo’llab-quvvatlanadi. +, -, /, * va% operatorlari mos ravishda qo’shish, ayirish, bo’lish, ko’paytirish va modulni aks ettiradi. Bunga qo’shimcha ravishda, * * eksponent hisoblashni amalga oshiradi va // polni taqsimlashni amalga oshiradi. Maqolaning qisqartirilishi uchun biz ko’proq Pythonga xos operatorlarga e’tibor qaratamiz.
#! / usr / bin / python3 # quyidagi kod eksponent operatordan foydalanishni namoyish etadi. x = 10 y = 3 bosma (x, ” * *”, y, “=”, x * * y) # chiqish: 10 * * 3 = 1000
Quyidagi kod poldan foydalanishni namoyish etadi. Qavatlar bo’linishida, agar raqam ijobiy raqam bo’lsa, natija nolga yaxlitlanadi. Agar raqam salbiy bo’lsa, natija noldan yaxlitlanadi.
#! / usr / bin / python3 # musbat raqamli qavatli bo’linma a = 10 b = 5.2 bosma (a, “/”, b, “=”, a / b) # chiqish: 10 / 5.2 = 1.923076923076923 bosma (a, “//”, b, “=”, a // b) # chiqish: 10 // 5.2 = 1.0 # qavatning bo’linishi manfiy numerator bilan a = -10 b = 5.2 bosma (a, “/”, b, “= “, a / b) # chiqishi: -10 / 5.2 = -1.923076923076923 chop etish (a,” // “, b,” = “, a // b) # chiqish: -10 // 5.2 = -2.0
Pythonni taqqoslash operatorlari
C / C ++ yoki Java kabi tillar tomonidan qo’llab-quvvatlanadigan deyarli barcha taqqoslash operatorlari Python tomonidan qo’llab-quvvatlanadi. Operatorlar ==,! =. > ,,> = va = tegishlicha teng, teng emas, kattaroq, kichik, kattaroq yoki kattaroq va kichik yoki teng deb belgilang.
Python-da operatorlarni tayinlash
Teng belgisi (=) Python tomonidan ifodaning o’ng tomonida qiymatni belgilash uchun ishlatiladi o’zgaruvchan chap tomonda. C ++ va Java kabi boshqa tillar singari, Python ham Operator-And operatsiyalarini qo’llab-quvvatlaydi, bu erda operatsiya natijasi chap tomonga beriladi.
#! / usr / bin / python3 # tayinlash operatorlarining namoyishi c = 10 d = 20 print (“original qiymati c”, c) # output: c 10 print ning asl qiymati (“d ning asl qiymati”, d) # chiqish: asl qiymati d 20 c + = d bosib chiqarish (“c + = d bajarilgandan so’ng c ning yangi qiymati”, c) # chiqish: c + = d 30 c- = d bosib chiqarilgandan so’ng c ning yangi qiymati (“c ning yangi qiymati c- = d “bajarilgandan so’ng, c) # chiqish: c- = d 10 bajarilgandan so’ng c ning yangi qiymati
+ = Operatsiyalari singari, Python-da mavjud bo’lgan boshqa barcha arifmetik operatorlar tegishli Operator-Va operatorlarini shakllantirish uchun tenglik belgisi bilan klubga qo’yilishi mumkin.
Mantiqiy operatorlar
VA, Yoki va YO’Q Python tomonidan qo’llab-quvvatlanadigan uchta asosiy mantiqiy operator.
#! / usr / bin / python3 # mantiqiy operatorlarning namoyishi exp1 = True exp2 = False print (“exp1 and exp2 =”, (exp1 and exp2)) # output: exp1 and exp2 = False print (“exp1 or exp2 =” , (exp1 yoki exp2)) # chiqish: exp1 yoki exp2 = Haqiqiy chop etish (“Not (exp1) =”, emas (exp1)) # chiqish: not (exp1) = noto’g’ri
Bitwise operatorlari
Python AND (&), OR (|), XOR (^), Bitning maqtovi yoki bitlarini (~), chap shift () va o’ng shift () operatorlarini qo’llab-quvvatlaydi. Bin () deb nomlangan ichki funktsiya mavjud bo’lib, u berilgan butun sonni ikkilik tasvirda beradi. Bitsel operatsiyalarni namoyish qilish uchun biz natijani namunaviy kodga bosib chiqarishda foydalanamiz:
#! / usr / bin / python3 a = 54 # 54 = 0011 0110 b = 8 # 8 = 0000 1000 bosib chiqarish (‘a =’, a, ‘:’, bin (a), ‘b =’, b, ‘ : ‘, bin (b)) c = 0 c = a & b; # 0011 0110 VA 0000 1000 = 0000 0000 = 0 bosma (“AND natijasi”, c, ‘:’, bin (c)) c = a | b; # 0011 0110 YOKI 0000 1000 = 0011 1110 = 62 chop etish (“OR natijasi”, c, ‘:’, bin (c)) c = a ^ b; # 0011 0110 XOR 0000 1000 = 0011 1110 = 62 chop etish (“EXOR natijasi”, c, ‘:’, bin (c)) c = ~ a; # -55 = 1100 1001 chop etish (“TAMOMLASH natijasi”, c, ‘:’, bin (c)) c = a 2; # 216 = 1101 1000 bosib chiqarish (“LEFT SHIFT natijasi”, c, ‘:’, bin (c)) c = a 2; # 13 = 0000 1101 chop etish (“RIGHT SHIFT natijasi”, c, ‘:’, bin (c))
Yuqoridagi kodning chiqishi quyidagicha bo’ladi:
a = 54: 0b110110 b = 8: 0b1000 AND natijasi 0: 0b0 yoki OR natijasi 62: 0b111110 EXOR natijasi 62: 0b111110 TAMOMLASH natijasi -55: -0b110111 LEFT SHIFT natijasi 216: 0b11011000 natijasi To’g’ri Shift 13: 0b1101
A’zolik operatorlari
Ikkala a’zolik operatorlari ichida va yo’q. Ular RHS qurilishida LHS bo’yicha berilgan qiymat mavjudligini aniqlash uchun ishlatiladi.
#! / usr / bin / python3 firstTuple = (‘Welcome’, “To”, “List”, ‘Tutorial’, 3.0) str1 = “Salom” str2 = “Welcome”, agar str1 firstTuple: print (str1, “bo’lsa firstTuple “) else: print (str1,” firstTuple’da YO’Q “) bo’lsa str2 firstTuple: print (str2,” firstTuple da mavjud “) else: print (str2,” firstTuple’da YO’Q “)
Yuqoridagi dastur uchun natija quyidagicha bo’ladi:
Salom firstTuple-da mavjud emas Xush kelibsiz firstTuple-da mavjud
Identifikatsiya operatorlari
Python-da identifikator operatorlari mavjud va mavjud emas. Ular LHS va RHS o’zgaruvchilari xotiradagi bir xil ob’ektga ishora qiladimi yoki yo’qligini tekshirish uchun ishlatiladi.
#! / usr / bin / python3 var1 = 2 var2 = var1 var3 = 9 print (var1) print (var2) print (var3) if (var1 is var2): print (“var1 va var2 bir xil joyga ega”) else: print (“var1 va var2 ning joylashuvi turlicha”) agar (var3 var2 emas): print (“var3 va var2 ning joylashuvi har xil”) else: print (“var3 va var2 bir xil joyga ega”)
Yuqoridagi dasturning natijasi quyidagicha bo’ladi:
1397774624 1397774624 1397774736 var1 va var2 bir xil joyga ega var3 va var2 har xil joyga ega
Python dasturlash tili: 4-dars.
Dasturdagi ko’p amallar (mantiqiy qatorlar) ifodalardan tashkil topgan. Bunga oddiy misol: 2 + 3. Ifodani operatorlar va operandlarga ajratish mumkin.
Operator – bu biror amalni bajaruvchi va simvol yordamida yoki zaxiraga olingan so’zlar yordamida ifodalanadigan funksional.
Operatorlar qiymatlar ustida biror amalni bajaradi va bu qiymatlar operandlar deyiladi. Bizning xolatda 2 va 3 – bu operandlar.
Operatorlar
Operatorlar va ularning qo’llanilishini qisqacha ko’rib chiqamiz. Misol uchun,
2 + 3 ifodani tekshirib ko’rish uchun interaktiv interpretatordan foydalanishimiz mumkin.
Operatorlar va ularning qo’llanilishi
Operator
Nomlanishi
Ta’rifi
Misol
Ikkita ob’yektning yig’indisini hisoblaydi
3 + 5 ifoda 8 ni beradi;
‘a’ + ‘b’ ifoda ‘ab’ ni beradi.
Ikkata sonning farqini beradi. Agar birinchi operand mavjud bo’lmasa, uning qiymati 0 ga teng deb olib ketiladi.
-5.2 manfiy qiymat beradi,
50 – 24 ning qiymati esa 26 ga teng.
Ikkita son ko’paytmasini beradi yoki satrni ko’rsatilgan miqdorda takrorlangan yangi satrni qaytaradi.
2 * 3 ifoda 6 beradi.
‘xa’ * 3 ifoda ‘xaxaxa’ ni qaytaradi.
x sonini y darajaga ko’tarilganda hosil bo’lgan qiymatni qaytaradi.
3**4 ifoda 81 ni qaytaradi (ya’ni 3*3*3*3)
‘x’ ni ‘y’ ga bo’lganda hosil bo’lgan bo’linmani qaytaradi.
4 / 3 ifoda 1.3333333333333333 ni beradi.
Bo’lishdan hosil bo’lgan bo’linmaning qoldiqsiz butun qismini qaytaradi.
4 // 3 ifoda 1 ni qaytaradi.
Bo’lishdan hosil bo’lgan qoldiqni qaytaradi.
8 % 3 ifoda 2 ni beradi.
-25.5 % 2.25 ifoda 1.5 ni beradi.
Bit sonni chapga ko’rsatilgan miqdorda suradi.
Bit sonni o’ngga ko’rsatilgan miqdorda suradi.
‘Va’ bit operatori
Sonlar ustida ‘va’ bit operatsiyasini bajaradi.
5 & 3 ifoda 1 ni beradi
‘Yoki’ bit operatori (Побитовое ИЛИ)
Sonlar ustida ‘yoki’ bit operatsiyasini bajaradi.
5 | 3 ifoda 7 ni beradi
‘shartlik yoki’ bit operatori
Sonlar ustida ‘shartlik yoki’ bit operatsiyasini bajaradi.
5 ^ 3 ifoda 6 ni beradi
‘Emas’ bit operatori Побитовое НЕ
‘Emas’ bit operatsiyasi x soni uchun -(x+1) ga to’g’ri keladi.
~5 ifoda 6 ni beradi.
x qiymat y qiymatdan kichikligini aniqlaydi. Hamma qiyoslash operatorlari True yoki False qaytaradi. Bu so’zlardagi katta xarflarga e’tibor bering.
x qiymat y qiymatdan katta ekanligini aniqlaydi.
5 > 3 ifoda True ni qaytaradi.
Kichik yoki teng
x qiymat y qiymatdan kichik yoki teng ekanligini aniqlaydi.
Katta yoki teng
x qiymat y qiymatdan katta yoki teng ekanligini anqlaydi.
x = 4; y = 3; x >= 3 ifoda True qaytaradi.
Ob’yektlarning tengligini tekshiradi
x = 2; y = 2; x == y ifoda True qaytaradi.
x == y ifoda False qaytaradi.
x == y ifoda True qaytaradi.
Ob’yektlar teng emasligi to’g’riligini tekshiradi.
x = 2; y = 3; x != y ifoda True qaytaradi.
Agar x True bo’lsa, operator False qaytaradi. Agar x False bo’lsa operator True qaytaradi.
x = True; not x ifoda False qaytaradi.
Mantiqiy ‘va’ (Логическое И)
x and y ifoda False qaytaradi agar x False bo’lsa. Aks holda y ning qiymatini qaytaradi.
x = False; y = True;
x and y ifoda False qaytaradi, sababi
x равно False. Bu holda Python y ning qiymatini tekshirib o’tirmaydi sababi ‘and’ operatoridan chapdagi ifoda qismi False ga teng va butun ifoda qiymati boshqa oparatorlar qiymatlariga bog’liqsiz ham False bo’ladi.
x or y agar x True ga teng bo’lsa True qaytaradi aks xolda y ning qiymatini qaytaradi.
x = True; y = False;
x or y ifoda True qaytaradi.
Matematik amallar va o’zlashtirishlarni qisqacha yozish
Ko’pincha bir o’zgaruvchi ustida biror matimatik amal bajarib, natijani o’sha o’zgaruvchining o’ziga o’zlashtirish zaruriyati tug’iladi. Bu holda amallarni qisqacha yozish mumkin.
ni quyidagicha yozishingiz mumkin:
Amallar bajarilish ketma-ketligi
2 + 3 * 4 ifodada qaysi amal birinchi bajariladi: qo’shishmi yoki ko’paytirish?
Matematika fanida ko’paytirish birinchi bajarilishi ko’rsatilgan. Demak, ko’paytirish operatori qo’shish operatoriga qaraganda katta prioritetga(muhimlik darajasiga) ega.
Quyidagi jadvalda Python operatorlari prioriteti ko’rsatilgan. Bunda yuqoridan pastga qarab Python operatorlari prioriteti oshib boradi. Bu shuni anglatadiki, ixtiyoriy ifodada Python oldin eng qiyidagi operatorlarni hisoblaydi va keyin esa yuqoridagilarini.
Amaliyotda esa amallarni qavslar bilan aniq ajratish tavsiya etiladi. Bu dastur kodini oson o’qishga yordam beradi.
Bir xillikni tekshirish
‘yoki’ bit operatori
‘shartlik yoki’ bit operatori
‘va’ bit operatori
Qo’shish va ayirish
Ko’paytirish, bo’lish, qoldiqsiz bo’lish va qoldiqlik bo’lish
Musbat va manfiy
’emas’ bit operatori
Indeks bo’yicha murojat
Kortej (Связка или кортеж)
Bu jadvalda bir xil prioritetga ega bo’lgan operatorlar bir qatorda joylashgan.
Misol uchun ‘+’ va ‘-‘.
Hisoblash tartibini o’zgartirish
Ifodalarni o’qishni osonlashtirish uchun qavslarni ishlatish mumkin. Misol uchun, 2 + (3 * 4) ni tushunish oson operatorlar prioriteni bilish lozim bo’lgan 2 + 3 * 4 ifodadan ko’ra. Qavslarni o’ylab ishlatish kerak. Ortiqcha qavslarni ishlatishdan saqlaning. Misol uchun: (2 + (3 * 4)).
Qavslarni ishlatishni ya’na bir afzalligi hisoblash tartibini o’zgartirish imkonini beradi. Misol uchun, qo’shish amalini ko’paytirish amalidan birinchi bajarish kerak bo’lsa, quyidagicha yozish mumkin:
Assotsiativlilik (Ассоциативность)
Operatorlar hisoblashni asosan chapdan o’ngga amalga oshirishadi. Bu bir xil prioritetga ega bo’lgan operatorlar chapdan o’ngga tartibda amallarni bajarishadi. Misol uchun, 2 + 3 + 4 ifodasi (2 + 3) + 4 shaklida hisoblanadi.
Ba’zi operatorlar misol uchun o’zlashtirish operatori o’ngdan chapga qarab amallarni bajaradi. Misol uchun: a = b = c ifodasi a = (b = c) shaklida qaraladi.
Misol (expression.py fayl ko’rinishida saqlang):
area = length * breadth
print(‘Yuza’, area)
print(‘Perimetr’, 2 * (length + breadth))
Bu qanday ishlaydi:
To’g’ri to’rtburchakning bo’yi va eni length va breadth o’zgaruvchilarida saqlanadi. Biz ulardan ifodalarda to’g’ri to’rturchakning yuzi va perimetrini (tomonlari uzunliklarining yig’indisini) hisoblashda foydalanamiz.
length * breadth ifodaning natijaviy qiymatini area o’zgaruvchida saqlanadi va print funksiyasi yordamida ekranga chiqariladi.
Ikkinchi holda to’g’ridan-to’g’ri 2 * (length + breadth) ifodaning qiymatini print funksiyasiga beramiz.
Yana shunga e’tibor beringki, Python natijani “chiroyli” shaklda ekranga chiqaradi. Biz “Yuza” bilan area o’zgaruvchisi orasiga “probel” (bo’sh joy) qo’ymagan bo’lsak ham, Python biz uchun uni o’zi hisobga olib ketadi va “probel” qo’yadi. Bu Pythonning dasturchilar uchun yengilliklar berishiga misol bo’la oladi.
Python Operator.
Operatorlar biron o’zgaruvchi yoki o’zgarmasni ustida ishlashimiz uchun kerak bo’ladi. Misol uchun tasavvur qiling o’tgan darsimizda biz mantiqiy (boolean) bilan tanishib chiqdik bunda ikki sonni yoki qiymatni taqqoslash operatori orqali True yoki False qiymatlarni oldik.
Python dasturlash tilida quyidagi operatorlar mavjud.
Python Arifmetik operatorlar
Umumiy matematik amallarni bajarish uchun biz arifmetik operatoridan foydalanamiz.
Operator | Nomi | Misol |
---|---|---|
+ | Qo’shish | x + y |
– | Ayirish | x – y |
* | Ko’paytirish | x * y |
/ | Bo’lish | x / y |
% | Modul | x % y |
** | Eksponentlash | x ** y |
// | Zaminlarni ajratish | x // y |
Arifmetik operatorlar.
Python tayinlash operatorlari.
Belgilash operatorlari o’zgaruvchiga qiymatlarni belgilash uchun ishlatiladi:
Operator | Misol Uchun | Boshqa Usul |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 3 | x = x + 3 |
-= | x -= 3 | x = x – 3 |
*= | x *= 3 | x = x * 3 |
/= | x /= 3 | x = x / 3 |
%= | x %= 3 | x = x % 3 |
//= | x //= 3 | x = x // 3 |
**= | x **= 3 | x = x ** 3 |
&= | x &= 3 | x = x & 3 |
|= | x |= 3 | x = x | 3 |
^= | x ^= 3 | x = x ^ 3 |
>>= | x >>= 3 | x = x >> 3 |
x | x = x |
Python taqqoslash operatorlari.
Taqqoslash operatorlari ikkita qiymatni taqqoslash uchun ishlatiladi:
Operator | Nomi | Misol Uchun |
---|---|---|
== | Tenglik | x == y |
!= | Teng emas | x != y |
> | Katta | x > y |
Kichik | x < y | |
>= | Katta yoki teng | x >= y |
Kichik yoki Teng | x |
Python mantiqiy operatorlari.
Mantiqiy operatorlar shartli gaplarni birlashtirish uchun ishlatiladi:
Operator | Description | Example |
---|---|---|
and | Agar ikki qiymat ham rost bo’lsa True | x < 5 and x < 10 |
or | Ikki qiymatdan biri rost bo’lsa True | x < 5 or x < 4 |
not | Agar ikki qiymat bir biriga teng bo’lmasa True | not(x < 5 and x < 10) |
Python identifikatsiya qilish operatorlari.
Operator | Misol Uchun |
---|---|
is | x is y |
is not | x is not y |
Python-ga a’zolik operatorlari.
Operator | Misol Uchun |
---|---|
in | x in y |
not in | x not in y |
3. Python dasturlash tili va sintaksisi
Python dasturi bir yoki bir nechta modullardan iborat bo’lishi mumkin. Har bir modul 7 bitli ASCII kodlash bilan mos keladigan shifrlangan matnli fayldir. Eng muhim bitdan foydalanadigan kodlashlar uchun kodlashning nomi aniq ko’rsatilishi kerak. Masalan, sharhlar yoki satrlarning harflari kodlangan modul KOI8 -R, birinchi yoki ikkinchi qatorda quyidagi tavsiflarga ega bo’lishi kerak:
Ushbu spesifikatsiya tufayli Python interperatarori Unicode harflarni Unicode-ga qanday qilib to’g’ri tarjima qilishni biladi. Ushbu chiziqsiz Python-ning yangi versiyalari har bir modul uchun sakkizinchi bit to’plamiga ega kodlar bilan ogohlantiradi.
Qanday qilib dasturni modulli qilish quyidagi bobda ma’lum bo’ladi. Quyidagi misollar faylga yozilgan modullarning ikkala parchasini va Python interperatarori bilan dialog oynasining qismlaridan foydalanadi. Ikkinchisi o’ziga xos taklifnoma bilan ajralib turadi >>> va funt belgisi ( # ) satr oxiriga sharh qoldiradi.
Python-dagi dastur, interperataror nuqtai nazaridan, mantiqiy chiziqlardan iborat. Bitta mantiqiy chiziq, qoida tariqasida, bitta fizik chiziqda joylashgan, ammo uzoq mantiqiy chiziqlar aniq (orqaga burilish chizig’idan foydalangan holda) yoki aniq ravishda (ichki qavs ichida) bir nechta fizik chiziqlarga bo’linishi mumkin:
print (a, “-bu juda mos bo’lmagan juda uzun chiziq”, 80, “tanishish”)
Izoh :
Barcha misollar asosan Python hujjatiga muvofiq Python kod dizaynining “rasmiy” uslubidan foydalanadi Uslublar bo’yicha qo’llanma “ni http://python saytida topish mumkin
Asosiy algoritmik konstruktsiyalar
O’quvchilar allaqachon hech bo’lmaganda maktab o’quv dasturi darajasida dasturlash imkoniyatiga ega deb taxmin qilinadi va shuning uchun algoritmik konstruktsiyalar va Python sintaksisi o’rtasida o’xshashliklar qilish kifoya qiladi. Bundan tashqari, Python, qoida tariqasida, dasturchining sezgilariga yo’l qo’ymaydi (hech bo’lmaganda, fan boshlang’ich Python dasturchilarining odatiy xatolarini yaxshi biladi), shuning uchun Python sintaksisini sintaksis diagrammalaridan yoki misollar yordamida o’rganish afzalroq.
Pythonni IDE Shell dan foydalanib an’anaga ko’ra barcha dasturchilar birinchi yozadigan dastur, “Hello World!” dasturini yozamiz.
Buning uchun Shell IDE yuqorisidagi menuda File –> New File bo’limini tanlaymiz (yoki klaviaturada Ctrl+N tugmalarini bosamiz). Math muhrarrirda yangi nom bilan fayli yaratiladi.
Faylni nomlashda quyidagi qoidalarga amal qiling:
- Fayl nomi qisqa, kichkina lotin harflari bilan va eng muhimi bo’shliq (пробел) qo’ymasdan yozilgan bo’lishi kerak.
- Fayl nomi .py bilan tugashi kerak (misol uchun py).
- Faylga ikki so’zdan iborat nom qo’ymoqchi bo’lsangiz so’zlar orasini tire (-) yoki pastki chiziq (_) bilan ajrating. Misol uchun: hello-world.py yoki py.
- Fayl nomini sonlar bilan boshlamang.
Matn muharririda quyidagi kodni yozamiz:
print() bu Pythondagi mahsus funktsiya bo’lib, () ichida berilgan matn yoki ifodalarni ekranga (konsolga) chiqarish vazifasini bajaradi.
Kodimizni bajarish uchun Run (►) tugmasini (yoki F5) bosamiz (yangi ochilgan oynada ham Run tugmasini bosamiz) va konsolda natijani ko’ramiz:
Birinchi dasturimiz va uning natijasi.
print() funktsiyasi, Python sintaksi va arifmetik amallar
Quyidagi kodlarni ko’rib chiqamiz.
- print(“Salom dasturchi!”)
Dastur natijasi kutilganidek Salom dasturchi! matnini konsolda aks ettirdi.
- print(Assalomu alaykum)
Dastur natijasi Assalomu alaykum yozuvi o’rniga, Syntax Error (sintaksisda xatolik) xabari chiqdi. Xatolik qayerda?
Avval aytganimizdek, print() funktsiyasi matn yoki ifodalarni konsolga chiqarish vazifasini bajaradi. Lekin bu funktsiya to’g’ri ishlashi uchun bir nechta qoidalarga amal qilish lozim. Jumladan, agar konsolga matn chiqarmoqchi bo’lsak, matnimiz albatta qo’shtirnoq yoki (” “) yoki birtirnoq(‘ ‘) orasida yozlishi kerak. Demak Assalomu alaykum so’zini konsolda chiqarish uchun to’g’ri kod: print(“Assalomu alaykum”) yozish lozim.
- print(‘Men 1 sonli maktabni 9 sinf o’quvchisiman’)
Dastur natijasi Men 1 sonli maktabni 9 sinf o’quvchisiman yozuvi o’rniga, Syntax Error (sintaksisda xatolik) xabari chiqdi. Xatolik qayerda?
Xatolikni oldini olish uchun (‘) o’rniga (“) dan foydalanish lozim yoki matndagi (‘) belgisidan oldin (\) belgisini qo’yish lozim (o\’quvchisiman). o’zgartirishimiz kerak. Umuman olganda \ belgisi har qanday mahsus belgi oldidan qo’yiladi.
- Agar matnni bir necha qatorga bo’lib yozish talab qilinsa, uchtalik birtirnoq (appostrof) dan (”’ ”’)foydalanish mumkin:
print(’’’Men 1 sonli maktabni
9 sinf o’quvchisiman’’’)
Qatorga bo’lishning yana bir usuli, qator so’nggida \n belgisini qo’yish.
print(‘Men 1 sonli maktabni \n 9 sinf o’quvchisiman’)
SINTAKSIS XATOLIK (SYNTAX ERROR)
Har bir tilda orfografik va grammatik qoidalar bo’lgani kabi, dasturlash tillarining ham o’ziga yarasha qonun-qoidalari bor. Bu qoidalar to’plami sintaksis (syntax) deb ataladi. Sintaksis xatolik (Syntax Error) deb esa shu qoidalarning buzilishiga aytiladi.
Misol uchun keraksiz joyda qo’yilgan nuqta, vergul yoki bo’sh joy, shuningdek ma’lum funktsiyalar nomini xato yozish (print() o’rniga prit()), ochilmay yoki yopilmay qolgan qavs, noo’rin bo’shliq, qolib ketgan kalit so’z (keyword) kabilar ham Syntax Error hisoblanadi.
Syntax Error eng ko’p uchraydigan xatolik bo’lib, Python bunday xatolik bor dasturlarni bajarmaydi.
ARIFMETIK AMALLAR
Pythonda print() funktsiyasi nafaqat matn, balki turli ifodalarni ham konsolga chiqaradi.
Keling quyidagi kodlarni ham bajaramiz:
Python arifmetik amallarni bajarishda Matematika qoidalariga amal qiladi:
- Qavs ichidagi amallar qavs ortidagilardan avval bajariladi
- Darajaga oshirish (ildiz chiqarish) ko’paytirish va bo’lishdan avval bajariladi
- Ko’paytirish va bo’lish, qo’shish va ayirishdan avval bajariladi
- Boshqa holatlarda ifodalar chapdan o’ngga qarab bajariladi
Ko’rib turganingizdek, / belgisi bo’lish amalini bajaradi va natija har doim o’nlik son ko’rinishida bo’ladi (agarchi bo’lish amali natijasida butun son xosil bo’lsa ham):
Bo’lish amalidan butun son ko’rinishidagi natija olish uchun // belgisidan foydalanamiz:
Yuqoridagi ** belgisi darajaga oshirishni anglatadi, ya’ni 2**4 ifodasi 2 ning 4-darajasini beradi.
Pythonda oddiy arifmetik amallar quyidagi jadvalda berilgan.
Python dasturlash tili operatorlari
Python dasturlash tili obektga yo’naltirilgan til bo’lib, 1991 yil 20-fevralda Python Software Foundation nomli notijorat tashkilot va Gvido van Rossum tomonidan ishlab chiqilgan.
Python dasturlash tili dastur yaratish samaradorligi va kodlarning o’qilishi qulayligi yuqori darajada bo’lgan dasturlash tili hisoblanadi. Bundan tashqari standart kutubxonada foydali funktsiyalarning katta to’plami mavjud. Python nomi sudralib yuruvchilar oilasining nomidan kelib chiqmagan. Muallif ushbu til nomini 1970 yillarda Britaniyada mashhur bo’lgan “Летающий цирк Монти Пайтона“ nomli tele-shoudan ilhomlanib nomlagan.
Python dasturlash tilida yozilgan dasturni 2 usulda ishga tushirish mumkin: interaktiv interpretator yordamida va dastur matni yozilgan fayldan foydalangan holda.
1-usul. Linux distributivi terminaliga python3 buyrug’ini yozib, ishga tushiramiz. Buyruq ishga tushgandan so’ng siz satr boshida >>> belgisi paydo bo’ladi. Bu yerda biror operatorni yozish mumkin va bu python interpretatorining buyruqlar qatori deb ataladi.
2-usul. Biz biror dasturni ishga tushirmoqchi bo’lsak interpretatorga dasturni har safar qayta yozishimizga to’g’ri keladi. Shuning uchun yozilgan dastur kodini biror faylga yozib saqlab qo’yish dasturni istalgan vaqtda ishga tushirish imkonini beradi. Bu usulda bizga biror redaktor kerak bo’ladi va fayl kengaytmasi .py bo’lishiga ahamiyat berish kerak.
Yuza va peremetrni hisoblash.
(To’g’ri burchakli uchuburchak misolida)
To’g’ri burchakli uchburchakning yuzini va peremetrini hisoblash uchun katetlar uzunligi berilgan. Pifagor teoremasi (c2 = a2 + b2) orqali gipatenuza uzunligini aniqlaymiz.
Python dasturlash tilida sonni ildizdan chiqarish uchun math modulining sqrt() funksiyasidan foydalanamiz.
Natija:
O’zgaruvchi qiymatlari o’rnini almashtirish.
Ikki o’zgaruvchiga kiymat kiritib (a=5 va b=6), to’g’ridan-to’g’ri bir o’zgaruvchi qiymatini ikkinchi o’zgaruvchiga beradigan bo’lsa, birinchisining qiymati yo’qotiladi. (a=5, b=6 bo’lsa, a=b bo’lgan taqdirda a=6, b=6 hosil bo’ladi. a=5 qiymat yo’qotiladi.) Shuning uchun ikki o’zgaruvchi qiymatlarini o’rnini almashtirishda uchunchi o’zgaruvchi kiritiladi. Birinchi o’zgaruvchining qiymatini uchunchi o’zgaruvchiga, ikkinchi o’zgaruvchining qiymatini birinchi o’zgaruvchiga undan so’ng uchunchi o’zgaruvchi qiymatini ikkinchi o’zgaruvchiga beriladi.
Bundan tashqari o’zgaruvchi qiymatini o’rnini almashtirishning quyidagicha usuli ham mavjud.
Python dasturlash tilida bunday holatlarni yengillashtirilgan ko’rinishda amalga oshirish mumkin. Python dasturlash tilida bir tipdagi o’zgaruvchilar qiymatini almashtirishdan tashqari, turli tipdagi o’zgaruvchilar qiymatini ham shunday tarzda to’g’ridan-to’g’ri almashtirish mumkin.
Uch xonali sonning raqamlar yig’indisini topish.
Foydalanuvchi uch xonali son kiritadi. Dastur uch xonali sonning raqamlar yig’indisini topishi lozim. Misol uchun: 349 kiritilgan bo’lsa, dastur (3 + 4 + 9 = 16) 16 sonini chiqarishi lozim.
Bunday masalalarni hal qilish uchun dasturlash tillarida 2 ta jarayon mavjud:
1) Ikkita sonni bo’lganda bo’linmaning butun qismini olish.
2) Ikkita sonni bo’lganda bo’linmaning qoldiq qismini olish.
Python dasturlash tilida butun qismini olish uchun // , kasr qismini olish uchun % belgilari mavjud.
Uch xonali sonni abc deb olaylik va quyidagicha algaritmni bajaramiz:
1. abc ni 10 bo’lgandagi qoldiqni topib, d1 o’zgaruvchiga taminlaymiz. Bu esa c soni bo’ladi.
2. abc ni 10 bo’lib, c sonidan ajratamiz.
3. ab ni 10 bo’lgandagi qoldiqni topib, d2 o’zgaruvchiga taminlaymiz. Bu esa b soni bo’ladi.
4. ab ni 10 bo’lib, b sonidan ajratamiz.
5. Qolgan a ga d1 va d2 ni qo’shib chiqamiz.
Natija:
Kvadrat tenglamaning ildizlarini topish.
ax2 + bx + c = 0 kvadrat tenglama berilgan. Kvadrat tenglamaning ildizlarini aniqlashdan oldin uning diskriminantini D = b2 – 4ac aniqlab olamiz. Agar D > 0 bo’lsa, kvadrat tenglama ikkita ildizga, agar D = 0 bo’lsa, kvadrat tenglama bitta ildizga, agar D < 0bo’lsa, kvadrat tenglama ildizga ega bo’lmaydi.
Natija:
To’rt burchak, uchburchak va doiraning yuzlaridan birini hisoblash.
Foydalanuvchi tomonidan berilgan shakllarni (To’rt burchak, uchburchak va doira) birini tanlash orqali shaklning yuzini hisoblash dasturini tuzish lozim. Buning uchun shakllarni yuzini hisoblovchi formulalarni aniqlab olash lozim.
1. To’rt burchak yuzini hisoblash uchun uning tomonlarini (a, b) kiritish va S=a*b formula orqali hisoblaymiz.
2. Uchburchakning yuzini hisoblash uchun uning tomonlarini (a, b, c) kiritish va Geron formulasinidan foydalanib hisoblaymiz.
3. Doiraning yuzini hisoblash uchun uning radiusini (r) kiritish va S=πr2 formula orqali hisoblaymiz.
Natija:
Uchta kesma orqali uchburchak hosil qilish.
Uchburchak hosil bo’lishi uchun uchburchakni hosil qiladigan 2 ta tomon uzunligi 3 tomondan katta bo’lishi lozim. Buning uchun 3 ko’rinishda a+b, b+c, a+c tomonlarni qo’shamiz va har bir ko’rinishdagi qiymatni qolgan tomon bilan taqqaslaymiz. Agar barcha tengsizlik qanoatlantirilsa uchburchak hosil bo’ladi.
Natija:
Dasturni murakkabroq ko’rinishga, yani qaysi tomonning uzunligi qolgan tomonlar uzunlik yig’indisidan katta ekanligini aniqlash lozim bo’lsa dastur kodini quyidagicha yozamiz.
Natija:
Nuqtani doira ichida yotish va totmasligini aniqlash.
Foydalanuvchi tomonidan dasturga nuqtaning koordinatalarini va uchburchak radiusini kiritadi. Bunda doiraning markazi koordinata o’qining boshida yotadi. Nuqta joylashgan koordinataning x va y o’qiga proeksiyasi to’g’ri burchakli uchburchakning katetlari deb oladigan bo’lsak, uning gipotenuzasini topamiz. Topilgan gipotenuzani aylananing radiusi bilan taqqoslab, agar gipotenuza uzunligi aylana radiusidan kichik bo’lganda nuqta doira ichida yotadi. Aks holda nuqta doira ichida yotmaydi.
Natija:
Sonning raqamlarini teskarisiga yozish.
Foydalanuvchi bir necha xonali son kiritganda, uning raqamlarini teskariga yozish dasturini tuzish lozim. Misol uchun 3658 sonini 8563 ko’rinishida yozish. Buning uchun quyidagi algoritmni ishlab chiqamiz.
1. Sonni 10 ga bo’lgandagi qoldiqni topib olamiz. Bu oxirgi raqam bo’ladi.
2. Bu raqamni yangi raqamga ko’shamiz.
3. Dastlabki sonni 10 ga bo’lamiz. Bu bilan oxirgi raqamdan olib tashlaymiz.
4. Dastlabki sondan qolgan sonni 10 ga bo’lamiz.
5. Keyingi sonni 10 ga ko’paytiramiz. Shunday qilib, biz uning razriyadini ikkitaga oshiramiz va birinchi raqam razriyadini 10 xonalikka suramiz.
6. Oldingi yodda qolgan sonni birinchi sondan olingan ikkinchi songa qo’shamiz.
7. Bu xolatni dastlabki son 0 dan kichik bo’lguniga qadar davom ettiramiz.
Natija:
Masalani bunday algaritm bilan hal qilish barcha dasturlash tillari uchun mos tushadi. Python esa bunday hollar uchun reverse() metodini ishlab chiqqan. Bu metod berilganlarni teskari tartibda yozish imkonini beradi. join() satr metodi bilan esa barchasi bir satrga birlashtiriladi.
Natija:
Berilgan songacha sonlarning kadratlarini topish.
1 dan foydalanuvchi tomonidan kiritgan songacha sonlarning darajaga ko’tarish uchun quyidagi algoritmni bajaramiz.
1. Ko’tarilishi lozim bo’lgan darajani kiritamiz. (p)
2. Chegara raqamini kiritamiz. (n)
3. Takrorlanuvchi i soni chegara raqamiga teng bo’lgunicha p darajasini topamiz.
Natija:
Sonning raqamlarini toq yoki juftligini topish.
Foydalanuvchi tomonidan kiritilgan sonning raqamlari juft yoki toqligini aniqlash lozim bo’lsin. Buning uchun har bir raqamini 2 ga bo’lganda qoldiq 0 bo’lsa juft, 0 dan farqli bo’lganda esa toq ekanligini aniqlaymiz. Python dasturlash tilida qoldiqni aniqlash uchun % belgisidan foydalanamiz. Sonni raqamlarga ajratish uchun sonni // orqali 10 ga bo’lamiz.
Natija:
Faktorialni hisoblash.
Faktorial 1 dan boshlab, berilgan songa qadar sonlarning ko’patmmasini aniqlaydi. Misol uchun 5 faktorial 1 * 2 * 3 * 4 * 5 = 120 ga teng.Faktorial formulasini n! = 1 * 2 * … * n yoki n! = 1 * … * (n-2) * (n-1) * n ko’rinishdagi formulalar orqali aniqlash mumkin.
Faktorialni aniqlash dasturini tuzish uchun takrorlash operatorlaridan fodalanish mumkin.
While operatori orqali:
For operatori orqali:
Qaytish operatori orqali:
Python dasturlash tili faktorialni hisoblash uchun yuqorida ko’rsatilgan dastur kodlarini tuzishni qisqartirish uchun math modulidagi factorial() funksiyasini ishlab chiqqan.
Fibonachi sonlarini hisoblash.
Fibonachi sonlari shunday sonlar qatoriki o’zidan oldingi kelgan ikki sonning yig’indisidan tashkil topadi. Misol uchun 0,1,1,2,3,5,8,13,21.
Fibonachi sonlarini topish uchun quyidagi formuladan foydalanamiz:
F1 =1
F2 =1
Fn = Fn-1 + Fn-2
Fibonachi sonlarining yig’indisini topish dasturi quyidagi ko’rinishda tuzish mumkin:
Natija:
Evklid algoritmi. Ikkita butun sonlarning eng katta umumiy bo’luvchisini topish.
Ikkita butun sonlarning eng katta umumiy bo’luvchisini topish algoritmlari:
1-algoritm.
- Berilgan sonlarning kattasini kichigiga bo’lamiz.
- Agar bo’lganda qoldiq 0 bo’linsa, u holda kichik son EKUB hisoblanadi.
- Agar qoldiq chiqsa, unda katta sonni kichik son bilan, kichik sonni qoldiq bilan almashtiramiz.
- 1 punktga qaytamiz.
Misol uchun:
30 va 18 sonlarning EKUB ni hisoblasak.
30 / 18 = 1 (qoldiq 12)
18 / 12 = 1 (qoldiq 6)
12 / 6 = 2 (qoldiq 0)
Yakunlandi: EKUB (30, 18) = 6 ga teng.
2-algoritm.
- Berilgan sonlarning kattasidan kichigini ayiramiz.
- Agar ayirganda qoldiq 0 bo’linsa, u holda berilgan sonlar bir-biriga teng va shu sonlarning o’zi EKUB hisoblanadi.
- Agar qoldiq chiqsa, unda katta sonni kichik son bilan, kichik sonni qoldiq bilan almashtiramiz.
- 1 punktga qaytamiz.
Misol uchun:
30 va 18 sonlarning EKUB ni hisoblasak.
30 – 18 = 12
18 – 12 = 6
12 – 6 = 6
6 – 6 = 0
Yakunlandi: EKUB (30, 18) = 6 ga teng.
Natija: