Darsliklar Python Sonlar

Python Python Sonlar

Sonlar — har qanday hisob-kitobning asosi. Xoh oddiy kalkulyator, xoh onlayn do’kon kabi murakkab hisob-kitob tizimi bo’lsin, dastur o’z mag’zida sonlar bilan ishlaydi. Shuning uchun Python sonlarni qanday tasavvur qilishini puxta bilib olishimiz shart.

Sonmatematik miqdorni ifodalovchi qiymat. Python’da sonlar uch asosiy turga bo’linadi: butun sonlar (int), kasr sonlar (float) va kompleks sonlar (complex).

Uch turdagi sonlar

Keling, uchala turni ham amalda ko’ramiz va type() orqali tasdiqlaymiz:

butun = 26
kasr = 3.14
kompleks = 2 + 3j

print(type(butun))
print(type(kasr))
print(type(kompleks))
<class 'int'>
<class 'float'>
<class 'complex'>

int — chegaralanmagan butun sonlar (Python juda katta sonlarni ham bemalol saqlaydi). float — nuqtali kasr sonlar. complex — mavhum qismli sonlar bo’lib, muhandislik va ilmiy hisoblarda qo’llaniladi.

Arifmetik amallar

Sonlar ustidagi asosiy amallarni jadvalda jamlaymiz:

Amal Belgi Misol Natija
Qo’shish + 10 + 3 13
Ayirish - 10 - 3 7
Ko’paytirish * 10 * 3 30
Bo’lish / 10 / 3 3.333...
Butun bo’lish // 10 // 3 3
Qoldiq % 10 % 3 1
Daraja `` 10 ** 3 1000

Ikki nuqtaga alohida e’tibor bering. Oddiy bo’lish (/) doim float qaytaradi, hatto son to’liq bo’linsa ham. Butun bo’lish (//) esa kasr qismini tashlab, faqat butun qismni beradi:

print(10 / 2)
print(10 // 3)
print(10 % 3)
print(2 ** 10)
5.0
3
1
1024

Qoldiq amali (%) amaliyotda juda foydali — masalan, sonning juft yoki toq ekanini aniqlashda (son % 2 == 0).

Turlarni sonli o’tkazish

Sonlarni ham bir-biriga aylantirish mumkin. int() kasr sonning kasr qismini tashlab yuboradi (yaxlitlamaydi), float() esa butunni kasrga aylantiradi:

narx = 3.99
print(int(narx))     # kasr qism tashlanadi
print(float(10))     # butun -> kasr
3
10.0

Diqqat: int(3.99) natijasi 4 emas, 3 bo’ladi. To’g’ri yaxlitlash uchun round() funksiyasidan foydalaning:

print(round(3.99))
print(round(3.14159, 2))  # ikkinchi argument — kasrdan keyingi xonalar soni
4
3.14

Katta sonlar va aniqlik

Python butun sonlar uchun aniqlik chegarasini bilmaydi — istagancha katta sonni saqlaydi:

katta = 2 ** 100
print(katta)
1267650600228229401496703205376

Biroq kasr sonlar bilan ishlashda ehtiyot bo’ling: 0.1 + 0.2 aniq 0.3 bermaydi (kompyuterdagi ikkilik tasavvur tufayli). Pul bilan ishlaganda — masalan, moliyaviy hisob-kitoblarda — bu muammoni hal qilish uchun maxsus decimal moduli qo’llaniladi.

Xulosa

Bu darsda Python’ning uch turdagi sonlari, arifmetik amallar, butun va oddiy bo’lish farqi, hamda round() va tur o’tkazish bilan tanishdik. Sonlar har qanday hisob-kitobning asosi. Keyingi darsda satrlar — matn bilan ishlash olamiga o’tamiz.