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

مسائل برمجه Fake Binary بلغة python ؟

Ali Ahmed39

السؤال

Recommended Posts

  • 0

عليكم السلام ورحمة الله وبركاته مرحبا علي،

عليك باتباع هذه الخطوات لحل هذا التمرين:

  • ابدأ بتعريف المتغير النصي (string) الأصلي الذي تملكه.
  • قم بتحويل النص إلى قائمة (list) من الأحرف لتتمكن من الوصول إلى كل رقم بشكل منفصل.
  • قم بالمرور عبر كل رقم في القائمة واستبدل الأرقام التي أقل من 5 بالرقم 0 والأرقام 5 وما فوق بالرقم 1.
  • قم بتجميع الأحرف المحدثة في قائمة جديدة.
  • قم بتحويل القائمة الجديدة إلى سلسلة (string) باستخدام دالة join().
  • أرجع السلسلة النهائية.

في حالة عدم معرفتك طريقة كتابة الشيفرة عليك بمشاركة محاولتك وسوف نقوم بتوجيهك ومساعدتك.

بالتوفيق.

 

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

  • 0
بتاريخ 1 دقيقة مضت قال مسعود زاهي:

عليكم السلام ورحمة الله وبركاته مرحبا علي،

عليك باتباع هذه الخطوات لحل هذا التمرين:

  • ابدأ بتعريف المتغير النصي (string) الأصلي الذي تملكه.
  • قم بتحويل النص إلى قائمة (list) من الأحرف لتتمكن من الوصول إلى كل رقم بشكل منفصل.
  • قم بالمرور عبر كل رقم في القائمة واستبدل الأرقام التي أقل من 5 بالرقم 0 والأرقام 5 وما فوق بالرقم 1.
  • قم بتجميع الأحرف المحدثة في قائمة جديدة.
  • قم بتحويل القائمة الجديدة إلى سلسلة (string) باستخدام دالة join().
  • أرجع السلسلة النهائية.

في حالة عدم معرفتك طريقة كتابة الشيفرة عليك بمشاركة محاولتك وسوف نقوم بتوجيهك ومساعدتك.

بالتوفيق.

 

تمام , شكرااا

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

  • 0

هناك طريقتان لحل هذا التمرين.

أول طريقة تتمثل في أن تستعمل مقارنة المحارف مباشرة، و هنا سينجح الأمر لأن ترتيب المحارف الخاصة بالخانات موافق لترتيب الأرقام، أي المحرف '1' أصغر من المحرف '2' ، في هذه الحالة يمكنك فقط استعمال ما يدعى list comprehension للقيام بذلك بالإضافة إلى الدالة join، كما يلي:

s = "41345491294358"
res = ''.join(['1' if x >= '5' else '0' for x in s])
print(res)

هذا هو الحل الأمثل بالنسبة للغة البايثون، حيث أن هذه هي الطريقة المفضلة للكتابة في هذه اللغة، بالطبع يمكنك القيام بكتابة حلقة عادية و الإضافة إلى لائحة و من ثم الدمج و لكن ذلك سيكون أسلوب اللغات الاخرى مثل c++ و ليس بايثون.

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

s = "41345491294358"
res = ''
for x in s:
  res += '1' if x >= '5' else '0'
print(res)

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...