MaxReve نشر 8 نوفمبر 2015 أرسل تقرير نشر 8 نوفمبر 2015 أريد أن أنشئ سلاسل نصية مع عدد صحيح مُولّد عن طريق حلقة التكرار for كما في المثال التالي:for i in range [1,10]: string="string"+i لكن عندما أقوم بتنفيذ الأمر السابق أحصل على خطأ:TypeError: unsupported operand type(s) for +: 'int' and 'str' فما هي الطريقة الصحيح لفعل ذلك؟ اقتباس
0 MaxReve نشر 8 نوفمبر 2015 الكاتب أرسل تقرير نشر 8 نوفمبر 2015 هنالك طرق متعددة لدمج السلاسل النصية مع الأعداد الصحيحة،لكنها تشترك جميعها في لزوم تحويل العدد الصحيح إلى سلسلة نصية حتى تتمكن من دمجه مع السلسلة النصية الثانية.إذا أردت طباعة مجموعة من الأعداد الصحيح بعد سلسلة نصية فيمكنك استخدام حلقة التكرار for مع دالة المدى range() كما في المثال التالي:string = 'string' for i in range(11): string +=`i` print string وسوف يتم طباعة السطر التالي:string012345678910 أما لو أردت الحصول على عدّة سلاسل نصية مع عدد في كل واحدة، مثلا string0, string1 ..... string10 فيمكنك استخدام هذه الطريقة لفعل ذلك:>>> string = "string" >>> [string+`i` for i in range(11)] اقتباس
0 Ali Haidar Ahmad نشر 1 أبريل 2022 أرسل تقرير نشر 1 أبريل 2022 الإجابة السابقة غير صحيحة، وتعطي خطأ (ربما كانت تعمل في الإصدارات القديمة من بايثون -وأشك في هذا-). الحل هو كالتالي: string = 'string' for i in range(11): string +=str(i) print (string) # string012345678910 حيث نمرر العدد الصحيح إلى الدالة str لكي تحوّله إلى سلسلة نصية قبل إجراء عملية الربط، وإلا سيعطي خطأ. اقتباس
السؤال
MaxReve
أريد أن أنشئ سلاسل نصية مع عدد صحيح مُولّد عن طريق حلقة التكرار for كما في المثال التالي:
لكن عندما أقوم بتنفيذ الأمر السابق أحصل على خطأ:
فما هي الطريقة الصحيح لفعل ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.