اذهب إلى المحتوى
  • 0

طرق ربط نص مع رقم في بايثون

Fahmy Mostafa

السؤال

عندما أقوم بربط concatenate نص مع رقم أو قائمة يظهر لي الخطأ التالي:

TypeError: must be str, not int

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

age= 18
print("I have " + age + " years old")

هل بإمكاني استعمال طرق أخرى غير علامة + لربط نص مع رقم؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك استخدام format() كالتالي

age= 18
print("I have {} years old".format(age))

أيضا يمكنك استخدام % كالتالي

age= 18
print("I have %d years old"% age)


كما يمكنك استخدام التكوين ""f كالتالي

age= 18
print(f"I have {age} years old")

كما يمكنك استخدام الفواصل كالتالي

age= 18
print("I have ",age," years old")

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك عدة طرق لربط السلاسل النصية string مع الأرقام int 

في الإصدارات القديمة من بايثون 2 يمكنك إستخدام الرمزين `` backsticks كما في المثال

string = 'string'
for i in range(11):
    string +=`i`
print string

ولكن هذه الطريقة تم إزالتها من إصدرارات بايثون الحديثة ومن بايثون 3 ولهذا يجب عليك إستخدام الدالة ()str بدلاً من الطريقة القديمة كما في المثال

string = 'string'
for i in range(11):
    string +=str(i)
print string

أو كما في الكود الخاص بك ، يمكنك إضافة دالة ()str كالآتي

age= 18
print("I have " + str(age) + " years old")

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

توجد عدة طرق غير ال str ولكن في حالة أنك تستخدم Python 3.6 أو أعلى يمكنك استخدام ال f-strings كالتالي

age= 18
print(f'I have {age} years old')

ويعتبر ال f-strings من الإضافات القوية حيث يمكنك تنفيذ أي كود بداخل الأقواس كالتالي

age= 18
print(f'I have {age + 5} years old')

يمكنك أيضاً استدعاء دالة من داخل الأقواس

def add(x, y):
    return x + y


print(f'Sum(10,20) = {add(10, 20)}')

 

تم التعديل في بواسطة عبدالباسط ابراهيم
إضافة بعض المعلومات
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...