هناك معلومة جوهرية وحاسمة يجب أن تعرفها عن دالة input(): إنها تُرجع دائماً قيمة من نوع سلسلة نصية (str)، حتى لو أدخل المستخدم أرقاماً.

لنرى المشكلة التي يسببها هذا الأمر. لنجرب كتابة برنامج يجمع رقمين:

num1 = input("أدخل الرقم الأول: ")

num2 = input("أدخل الرقم الثاني: ")

 

result = num1 + num2

 

print("النتيجة هي:", result)

 

إذا شغلت هذا الكود وأدخلت 5 ثم 3، فماذا تتوقع أن تكون النتيجة؟ 8؟ للأسف لا!

المخرجات ستكون:

أدخل الرقم الأول: 5

أدخل الرقم الثاني: 3

النتيجة هي: 53

 

لماذا؟ لأن بايثون رأت المدخلات كنصوص ("5" و "3"). وعندما تستخدم علامة + مع النصوص، فإنها تقوم بدمجها (concatenation) وليس بجمعها حسابياً.

المزيد من المحتوى؟

سجل للوصول إلى المزيد