هناك معلومة جوهرية وحاسمة يجب أن تعرفها عن دالة input(): إنها تُرجع دائماً قيمة من نوع سلسلة نصية (str)، حتى لو أدخل المستخدم أرقاماً.
لنرى المشكلة التي يسببها هذا الأمر. لنجرب كتابة برنامج يجمع رقمين:
num1 = input("أدخل الرقم الأول: ")
num2 = input("أدخل الرقم الثاني: ")
result = num1 + num2
print("النتيجة هي:", result)
إذا شغلت هذا الكود وأدخلت 5 ثم 3، فماذا تتوقع أن تكون النتيجة؟ 8؟ للأسف لا!
المخرجات ستكون:
أدخل الرقم الأول: 5
أدخل الرقم الثاني: 3
النتيجة هي: 53
لماذا؟ لأن بايثون رأت المدخلات كنصوص ("5" و "3"). وعندما تستخدم علامة + مع النصوص، فإنها تقوم بدمجها (concatenation) وليس بجمعها حسابياً.
المزيد من المحتوى؟
