ماڈیول اسباق (3/4)
نمبرز اور ریاضی کا ماڈیول
Python دو بنیادی عددی اقسام میں فرق کرتا ہے: int (منمانی-صحت
انٹیجرز — کوئی اوور فلو نہیں) اور float (64 بٹ فلوٹنگ پوائنٹ، ڈبل
درستگی)۔
type(42) # <class 'int'>
type(3.14) # <class 'float'>
type(10 ** 100) # <class 'int'> — interi grandi a piacereریاضی کے آپریٹرز
| اوپ | معنی | مثال | نتیجہ |
|---|---|---|---|
+ | اضافہ | 2 + 3 | 5 |
- | گھٹاؤ | 5 - 2 | 3 |
* | مصنوعات | 4 * 3 | 12 |
/ | حقیقی تقسیم | 10 / 4 | 2.5 |
// | انٹیجر تقسیم | 10 // 4 | 2 |
% | modulo (بقیہ) | 10 % 3 | 1 |
** | طاقت | 2 ** 10 | 1024 |
انتباہ: / ہمیشہ ایک float لوٹاتا ہے، یہاں تک کہ دو عدد کے ساتھ بھی (10 / 2
لوٹاتا ہے 5.0، نہیں 5)۔ عددی تقسیم کے لیے // استعمال کریں۔
10 / 4 # 2.5
10 // 4 # 2
-7 // 2 # -4 (arrotonda verso il basso, non verso lo zero)عددی بلٹ ان
abs(-5) # 5
min(3, 1, 2) # 1
max([3, 1, 2]) # 3 (su iterabile)
round(3.7) # 4
round(3.14159, 2) # 3.14
sum([1, 2, 3]) # 6math ماڈیول
import math
math.pi # 3.141592653589793
math.sqrt(16) # 4.0
math.floor(3.9) # 3 (verso meno infinito)
math.ceil(3.1) # 4 (verso più infinito)
math.log(math.e) # 1.0
math.gcd(12, 18) # 6فلوٹ کا نقصان
فلوٹس بائنری تخمینے ہیں: 0.1 + 0.2 بالکل برابر نہیں ہے
0.3
0.1 + 0.2 # 0.30000000000000004
0.1 + 0.2 == 0.3 # False !محفوظ موازنے کے لیے math.isclose(a, b) استعمال کریں یا، مالی سیاق و سباق میں،
decimal ماڈیول۔
فلوٹ درستگی اور اعشاریہ ماڈیول
Python میں فلوٹس کو ڈبل پریسجن فلوٹنگ پوائنٹ نمبرز (IEEE 754 سٹینڈرڈ) کے طور پر لاگو کیا جاتا ہے۔ نتیجتاً، 0.1 + 0.2 جیسے حسابات سے قطعی طور پر 0.3 نہیں ملتا، بلکہ 0.30000000000000004۔ اگر آپ کو ریاضیاتی درستگی کی ضرورت ہے (مثال کے طور پر مالیاتی ایپلی کیشنز کے لیے)، تو معیاری لائبریری کا decimal ماڈیول استعمال کریں۔
اسے آزمائیں
دیے گئے `سیکنڈز = 3725`، شمار کریں `گھنٹے`، `منٹس`، `بقیہ_سیکنڈ` استعمال کرتے ہوئے // اور %۔ ٹپل کا اندازہ کریں `(گھنٹے، منٹ، باقی_سیکنڈز)`۔
اشارہ دکھائیں۔
// عددی تقسیم کرتا ہے، % بقیہ۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
`رداس = 5` کو دیکھتے ہوئے، math.pi کا استعمال کرتے ہوئے `علاقہ` میں دائرے کے رقبے کی گنتی کریں۔ راؤنڈ کے ساتھ 2 اعشاریہ پر گول 'رقبہ' کا اندازہ کریں۔
اشارہ دکھائیں۔
math.pi * رداس ** 2
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
Import the `math` module. Calculate the square root of `16` using `math.sqrt`, add the result to the rounded value of `3.74` (using `round()`), and store the final sum in `total_val`. Finally, evaluate the variable.
اشارہ دکھائیں۔
math.sqrt(16) 4.0 لوٹاتا ہے۔ راؤنڈ (3.74) 4 لوٹاتا ہے۔ ان کو جمع کریں اور total_val کو تفویض کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔