دروس الوحدة (3/4)
الأرقام ووحدة الرياضيات
تميز بايثون بين نوعين رقميين أساسيين: int (دقة عشوائية)
أعداد صحيحة - بدون تجاوز) وfloat (نقطة عائمة 64 بت، مزدوجة
الدقة).
type(42) # <class 'int'>
type(3.14) # <class 'float'>
type(10 ** 100) # <class 'int'> — interi grandi a piacereالعوامل الحسابية
| مرجع سابق | معنى | مثال | النتيجة |
|---|---|---|---|
| محمي_INLINE_10 | إضافة | محمي_INLINE_11 | محمي_INLINE_12 |
| محمي_INLINE_13 | الطرح | محمي_INLINE_14 | محمي_INLINE_15 |
| محمي_INLINE_16 | المنتج | محمي_INLINE_17 | محمي_INLINE_18 |
| محمي_INLINE_19 | صحيح القسمة | محمي_INLINE_20 | محمي_INLINE_21 |
| محمي_INLINE_22 | عدد صحيح القسمة | محمي_INLINE_23 | محمي_INLINE_24 |
| محمي_INLINE_25 | مودولو (الباقي) | محمي_INLINE_26 | محمي_INLINE_27 |
| محمي_INLINE_28 | قوة | محمي_INLINE_29 | محمي_INLINE_30 |
تحذير: / يُرجع دائمًا 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]) # 6الوحدة math
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 لا تساوي تمامًا
محمي_INLINE_39.
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. قم بتقييم "المساحة" تقريبًا إلى رقمين عشريين باستخدام التقريب.
إظهار التلميح
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. round(3.74) تُرجع 4. اجمعها وقم بتعيينها إلى Total_val.
الحل متاح بعد 3 من المحاولات