البرمجة

تحسين برامج جمع الكلمات: حلاً للتحقق من الإدخال وتنظيف الفواصل

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

أولاً، لحل المشكلة الأولى – كيفية تقييد إدخال النص فقط – يمكنك استخدام دالة لفحص نوع الإدخال والتحقق مما إذا كان نصيًا أم لا. على سبيل المثال، يمكنك استخدام دالة isalpha() للتحقق من أن الإدخال يحتوي على أحرف فقط دون أرقام أو رموز.

ثانياً، بخصوص المشكلة الثانية – كيفية التعامل مع الفواصل – يمكنك استخدام split() مرة واحدة فقط للحصول على الكلمات، ثم تقوم بتنقية الكلمات للتخلص من الفواصل. يمكنك استخدام قائمة التفريعات الخاصة بك لتحسين هذا الأمر.

هنا يمكنك رؤية تعديلات على البرنامج:

python
def plural(user_input): List_of_word_ends = ['o', 'ch', 's', 'sh', 'x', 'z'] words = user_input.split() ws = "" for word in words: if len(word) > 0 and word.isalpha(): if word.endswith("y"): word = word[:-1] word += "ies" else: isSomeEs = False for suffix in List_of_word_ends: if word.endswith(suffix): word += "es" isSomeEs = True break if not isSomeEs: word += "s" ws += word + " " print(ws.strip()) singular = input("الرجاء إدخال الكلمات التي ترغب في جعلها جمعاً:") x = singular.split(",") x = [word.strip() for word in x if word.strip()] # تنقية الكلمات من الفواصل والمسافات الزائدة y = len(x) if y > 0: print("عدد الكلمات التي أدخلتها هو:", y) plural(" ".join(x)) else: print("لم يتم إدخال أي كلمات.")

هذا التعديل يأخذ في اعتباره نوع الإدخال ويقوم بتصحيح التعامل مع الفواصل. كما يقوم بفحص إذا ما كان هناك أي كلمات تم إدخالها قبل تنفيذ الوظيفة.

المزيد من المعلومات

بالتأكيد، سأقدم لك المزيد من المعلومات حول التعديلات التي تم إجراؤها على البرنامج. أولاً وقبل كل شيء، قمت بإضافة فحص لنوع الإدخال باستخدام word.isalpha() لضمان أن الكلمات تحتوي على أحرف فقط وليس أرقامًا أو رموزًا. هذا يحل المشكلة الأولى التي واجهتك، والتي كانت تتمثل في كيفية تقييد الإدخال إلى نص فقط.

ثانياً، لمعالجة المشكلة الثانية، وهي كيفية التعامل مع الفواصل، قمت بتحسين عملية الفصل بين الكلمات. استخدمت split(",") للحصول على الكلمات، ثم استخدمت قائمة التفريعات (List_of_word_ends) لتحسين توليد صيغة الجمع لكل كلمة. ولتجنب مشكلة الفواصل بين الكلمات عند استخدام الفاصلة، قمت بتنقية الكلمات باستخدام word.strip() للتخلص من المسافات الزائدة حول كل كلمة.

أخيرًا، قمت بتصحيح الطباعة لتظهر الناتج بشكل صحيح دون مسافات زائدة أو فواصل في البداية والنهاية باستخدام print(ws.strip()).

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

زر الذهاب إلى الأعلى