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.
Operator
|
Izoh
|
lambda
|
lambda ifoda
|
or
|
Mantiqiy 'yoki'
|
and
|
Mantiqiy 'va'
|
not x
|
Mantiqiy 'emas'
|
in, not in
|
Tegishlilikni tekshirish
|
is, is not
|
Bir xillikni tekshirish
|
<, <=, >, >=, !=, ==
|
Taqqoslash
|
|
|
'yoki' bit operatori
|
^
|
'shartlik yoki' bit operatori
|
&
|
'va' bit operatori
|
<<, >>
|
Surilishlar
|
+, –
|
Qo'shish va ayirish
|
*, /, //, %
|
Ko'paytirish, bo'lish, qoldiqsiz bo'lish va qoldiqlik bo'lish
|
+x, -x
|
Musbat va manfiy
|
~x
|
'emas' bit operatori
|
**
|
Darajaga ko'tarish
|
x.attribute
|
Atributga link
|
x[index]
|
Indeks bo'yicha murojat
|
x[index1:index2]
|
Kesib olish
|
f(argumentlar …)
|
Funksiyani chaqirish
|
(ifoda, …)
|
Kortej (Связка или кортеж)
|
[ifoda, …]
|
Ro'yxat (Список)
|
{kalit:qiymat, …}
|
Lug'at (Словарь)
|
Bu jadvalda bir xil prioritetga ega bo'lgan operatorlar bir qatorda joylashgan.
Misol uchun '+' va '-'.
7. 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:
(2 + 3) * 4.
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.
Ifodalar
Misol (expression.py fayl ko'rinishida saqlang):
length = 5
breadth = 2
area = length * breadth
print('Yuza', area)
print('Perimetr', 2 * (length + breadth))
Kiritish:
$ python expression.py
Yuza 10
Perimetr 14
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.
Misollar
1-misol. Kvadratning tomoni a berilgan. Uning perimetri p va yuzi aniqlansin. Python da quyidagicha kiritamiz:
a=int(input(" Kvadrat tomonini kiriting = "))
p = 4*a
s = a**2
print(" Kvadrat perimetri quyidagicha = ", p)
print(" Kvadrat yuzi quyidagicha = ", s)
2-misol. Kubning yon tomoni a berilgan. Uning hajmini 𝑣 = 𝑎3, to’la sirti s = 6 ∙ 𝑎2 aniqlansin.
Pythondagi dasturi:
Page 36
a=int(input(" Kubning tomonini kiriting = "))
v = a**3
s = 6*a**2
print(" Kubning hajmi quyidagicha =", v)
print(" Kubning to'la sirti quyidagicha =", s)
3-misol. Ikkita musbat butun son a va b berilgan. Ularning o’rta geometrigi √𝑎 ∙ 𝑏 va o’rta
arifmetigi (a+b)/2 aniqlansin.
Dasturi:
import math
a = int(input(" a sonini kiriting = "))
b = int(input(" b sonini kiriting = "))
g = math.sqrt(a*b)
# g ni o'rta geometrik deb belgiladik
y = (a+b)/2
# y ni o'rta arifmetik deb belgiladik
print(f"o'rta geometrikning qiymati={g}, o'rta arifmetikning qiymati={y}")
4-misol. Nolga teng bo’lmagan ikkita son berilgan. Ularning yig’indisi, ko’paytmasi va har
birining moduli aniqlansin.
Dasturi:
import math
a = float(input(" a sonini kiriting = "))
b = float(input(" b sonini kiriting = "))
y = a+b
# y ni ikki son yig'indisi deb belgiladik
k = a*b
# k ni ikki son ko'paytmasi deb belgiladik
a = math.fabs(a)
b = math.fabs(b)
print(f"ikki son yig'indisining qiymati={y}, ikki son ko'paytmasining qiymati={k}, a ning
moduli={a}, b ning moduli={b}")
5-misol. a burchak gradusda berilgan. Berilgan burchakning qiymatini radianga o’tkazuvchi
dastur tuzilsin.
Dasturi:
import math
Page 3a = int(input(" Burchakning gradus qiymatini kiriting="))
r = (2*math.pi*a)/360
Dostları ilə paylaş: |