تحويل input إلى رقم: افهم int و float قبل أن تستخدمهما
في الدرس السابق عرفنا أن input ترجع نصًا دائمًا. الآن سنتعلم كيف نحول هذا النص إلى رقم صحيح أو رقم عشري حتى نستطيع استخدامه في العمليات الحسابية.
ما النتيجة التي يجب أن تخرج بها؟
في نهاية الدرس ستفهم هذا السطر، وليس فقط تكتبه:
age = int(input("اكتب عمرك: "))
وستعرف أن Python يقرأه بهذا المعنى:
اسأل المستخدم خذ الإجابة كنص حوّل النص إلى رقم صحيح احفظ الرقم داخل age
لماذا لا يكفي input وحده؟
input تستقبل ما يكتبه المستخدم كنص دائمًا. حتى لو كتب المستخدم رقمًا مثل 20، فإن Python يستقبله كأنه نص:
"20"
النص لا نستخدمه مباشرة في العمليات الحسابية. لذلك نحتاج تحويله إلى رقم.
المثال التالي يستقبل العمر كنص:
age_text = input("اكتب عمرك: ")
print(type(age_text))
إذا كتبت 20، سترى أن النوع هو:
<class 'str'>
المسافة بعد النقطتين داخل رسالة input
لاحظ هذا السطر:
age = input("اكتب عمرك: ")
تركنا مسافة بعد النقطتين داخل النص، قبل إغلاق علامة التنصيص. هذه المسافة ليست شرطًا لتشغيل Python، لكنها مهمة لتنسيق ما سيكتبه المستخدم.
بدون المسافة قد تظهر الإجابة ملاصقة للسؤال:
اكتب عمرك:20
ومع المسافة تظهر بشكل أوضح:
اكتب عمرك: 20
أنشئ ملف الدرس الحادي عشر
افتح مجلد الدورة داخل VS Code:
python_course
ثم أنشئ ملفًا جديدًا باسم:
lesson_11.py
افتح الملف داخل Editor.
الطريقة التعليمية: افصل الاستقبال عن التحويل
في البداية لا نكتب السطر المختصر مباشرة. نكتبها على خطوتين حتى نفهم:
age_text = input("اكتب عمرك: ")
age = int(age_text)
print(age)
print(type(age))
هنا يحدث التالي:
age_text يستقبل النص من input int(age_text) يحول النص إلى رقم صحيح age يحفظ الرقم بعد التحويل
الطريقة المختصرة: int حول input
بعد أن فهمنا الخطوتين، يمكن اختصارها في سطر واحد:
age = int(input("اكتب عمرك: "))
Python ينفذ الجهة اليمنى أولًا:
int(input("اكتب عمرك: "))
ثم يخزن النتيجة النهائية داخل المتغير:
age = الرقم بعد التحويل
استخدم العمر في عملية حسابية
الآن بعد أن أصبح العمر رقمًا، نستطيع استخدامه في الحساب:
age = int(input("اكتب عمرك: "))
next_year_age = age + 1
print("عمرك السنة القادمة:", next_year_age)
إذا كتب المستخدم 20، ستكون النتيجة:
عمرك السنة القادمة: 21
متى نستخدم float؟
نستخدم float عندما نتوقع رقمًا عشريًا، مثل السعر أو الوزن أو الطول أو التقييم.
مثال على السعر:
price = float(input("اكتب السعر: "))
tax = price * 0.15
total = price + tax
print("الإجمالي:", total)
إذا كتب المستخدم:
100.5
يستطيع Python التعامل معه كرقم عشري.
لماذا لا نستخدم Fraction الآن؟
قد تسأل: لماذا استخدمنا float ولم نستخدم Fraction؟
في Python يوجد نوع متقدم اسمه Fraction داخل مكتبة fractions، ويستخدم عندما نحتاج كسورًا دقيقة مثل ثلث أو نصف بطريقة رياضية.
from fractions import Fraction x = Fraction(1, 3)
لكن هذا ليس مناسبًا في بداية التعلم؛ لأنه يحتاج استيراد مكتبة وفهمًا أعمق للكسور. في هذه المرحلة نحتاج فقط:
int للأرقام الكاملة float للأرقام العشرية
تدريب صغير: احسب السعر مع الضريبة
اكتب برنامجًا يسأل المستخدم عن السعر، ثم يحسب ضريبة 15% والإجمالي:
price = float(input("اكتب السعر: "))
tax = price * 0.15
total = price + tax
print("الضريبة:", tax)
print("الإجمالي:", total)
اختبار نهاية الدرس
قبل الانتقال للدرس القادم، تأكد من هذه النقاط:
خلاصة الدرس
input تستقبل من المستخدم نصًا. إذا أردت استخدام هذه القيمة في الحساب، يجب أن تحولها إلى رقم. استخدم int للأرقام الكاملة، و float للأرقام العشرية.
تذكر القاعدة:
age = int(input("اكتب عمرك: "))
price = float(input("اكتب السعر: "))
ضع int أو float حول القيمة التي تريد تحويلها، وليس قبل اسم المتغير.
في الدرس القادم سنستخدم ما تعلمناه لبناء برنامج صغير يسأل المستخدم عن قيم، يحسبها، ثم يعرض نتيجة مرتبة.
💬 التعليقات
لا توجد تعليقات بعد.
🚫 يجب تسجيل الدخول لإضافة تعليق. دخول / تسجيل