لكي نحل هذه المشكلة، يجب أن نخبر بايثون صراحةً أننا نريد التعامل مع هذه المدخلات كأرقام. نقوم بذلك باستخدام دوال التحويل:
· int(): تحول القيمة إلى عدد صحيح (integer).
· float(): تحول القيمة إلى عدد عشري (float).
لنعد كتابة برنامج الجمع بالشكل الصحيح:
num1_str = input("أدخل الرقم الأول: ")
num2_str = input("أدخل الرقم الثاني: ")
# تحويل النصوص إلى أرقام قبل إجراء العملية الحسابية
num1_int = int(num1_str)
num2_int = int(num2_str)
result = num1_int + num2_int
print("النتيجة الصحيحة هي:", result)
المخرجات الآن (عند إدخال 5 و 3):
أدخل الرقم الأول: 5
أدخل الرقم الثاني: 3
النتيجة الصحيحة هي: 8
نجح الأمر!
طريقة مختصرة وشائعة:
يمكنك إجراء التحويل في نفس السطر الذي تستقبل فيه المدخلات، هكذا:
# نقوم بلف دالة input() بدالة int() مباشرة
num1 = int(input("أدخل الرقم الأول: "))
num2 = int(input("أدخل الرقم الثاني: "))
result = num1 + num2
print("النتيجة هي:", result)
