الدرس 3 من 10

الأرقام والتحويل

هدف الدرس

القسمة والتقريب والتحويل

01

الشرح

في Python نوعان أساسيان للأرقام، هما int للأعداد الصحيحة وfloat للأعداد العشرية. والقسمة العادية / تُرجع float دائمًا، حتى إن 6 / 3 تعطي 2.0.

وللقسمة الصحيحة عمليتان، فـ // تُرجع ناتج القسمة بلا كسور، و% تُرجع الباقي، ولهذا تعطي 135 // 60 الرقم 2 وتعطي 135 % 60 الرقم 15. وستستعملهما معًا كلما وزّعت كمية على وحدات، كتوزيع الدقائق على ساعات أو العناصر على صفحات.

وكل ما يصلك من النماذج والملفات يصل نصًّا ولو بدا رقمًا، فـ "19.90" * 3 لا تضرب الرقم بل تكرّر النصّ ثلاث مرّات. لذلك حوّل النصّ أوّلًا إلى رقم بـ float() أو int()، وإذا أردت أن ترجع من الرقم إلى نصّ فاستعمل str().

وانتبه إلى أن الحاسوب يخزّن الأعداد العشرية تخزينًا تقريبيًّا، فـ 19.9 * 3 تعطي 59.699999999999996، وهذا ليس خطأ في Python بل هو طريقة الحاسوب في تخزين الكسور، فإذا أردت عرض الناتج فقرّبه بـ round(x, 2).

02

المطلوب

احسب من duration (وهي بالدقائق) قيمتي hours وminutes باستعمال // و%، ثم احسب من price_text وqty_text قيمة total، وهي السعر مضروبًا في الكمية، رقمًا مقرّبًا إلى منزلتين عشريّتين.

الفحوص

5 فحوص
  1. المتغيّر hours يساوي ساعتين كاملتين
  2. المتغيّر hours عدد صحيح وليس عشريًّا
  3. المتغيّر minutes يساوي الدقائق الـ 15 الباقية
  4. المتغيّر total رقم وليس نصًّا
  5. المتغيّر total مقرّب إلى منزلتين ويساوي 59.7
03

تلميحات

0/3
main.py
المخرجاتPython (Pyodide)

نحمّل بيئة Python الآن. يحدث هذا مرّة واحدة فقط، ثم يحفظها متصفّحك.

–/5

يبدأ الفحص حين تجهز البيئة.

تجد 5 فحوص في بطاقة «المطلوب».