الانتقال إلى المحتوى الرئيسي
الوحدة 4 · الدرس 3 من 415/36 في الدورة~10 min
دروس الوحدة (3/4)

الأرقام ووحدة الرياضيات

تميز بايثون بين نوعين رقميين أساسيين: int (دقة عشوائية) أعداد صحيحة - بدون تجاوز) وfloat (نقطة عائمة 64 بت، مزدوجة الدقة).

Python
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). لتقسيم الأعداد الصحيحة، استخدم //.

Python
10 / 4    # 2.5
10 // 4   # 2
-7 // 2   # -4   (arrotonda verso il basso, non verso lo zero)

المدمجات الرقمية

Python
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

Python
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.

Python
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 الخاصة بالمكتبة القياسية.

جربه

تمرين#python.m4.l3.e1
المحاولات: 0جارٍ التحميل…

بالنظر إلى `الثواني = 3725`، قم بحساب `الساعات`، `الدقائق`، `الثواني المتبقية` باستخدام // و%. قم بتقييم الصف `(الساعات، الدقائق، الثواني المتبقية)'.

جارٍ تحميل المحرر…
إظهار التلميح

// يقوم بتقسيم الأعداد الصحيحة، والباقي %.

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#python.m4.l3.e2
المحاولات: 0جارٍ التحميل…

بالنظر إلى `نصف القطر = 5`، قم بحساب مساحة الدائرة في `المنطقة` باستخدام math.pi. قم بتقييم "المساحة" تقريبًا إلى رقمين عشريين باستخدام التقريب.

جارٍ تحميل المحرر…
إظهار التلميح

math.pi * نصف القطر ** 2

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#python.m4.l3.e3
المحاولات: 0جارٍ التحميل…

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 من المحاولات