• 0

كيف أحل خطأ TypeError عند دمج السلاسل النصية مع الأعداد الصحيحة في بايثون؟

أملك البرنامج التالي:

a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b
a = int(a)
b = int(b)
c = a + b
str(c)
print "a + b as integers: " + c

لكن عند تشغيله أحصل على رسالة الخطأ التالية:

Python: TypeError: cannot concatenate 'str' and 'int' objects

فما سبب هذا الخطأ؟ وكيف أستطيع حله؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

هذا الخطأ تسببت به تعليمة print الأخيرة وهنالك عدة حلول لهذه المشكلة في بايثون، الطريقة الأسهل لحل هذه المشكلة هي عن طريق فصل العدد الصحيح الموجود في متغير c عن السلسلة النصية عن طريق استبدال عامل الجمع إلى فاصلة كما في المثال التالي:

print "a + b as integers: ", c  # note the comma here

أما الطريقة الثانية لحل هذه المشكلة فهي عن طريق تحويل العدد الصحيح إلى سلسلة نصية وذلك باستخدام دالة str كما في المثال التالي:

str(c)
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن