للوهلة الأولى ، قد يبدو أن حساب عدد الكلمات في سطر أو ملف في بايثون بسيط للغاية. ومع ذلك ، عند الفحص الدقيق لهذه المهمة ، يمكن اكتشاف بعض التفاصيل الدقيقة. في هذا الدليل ، سننظر في طرق مختلفة لحساب عدد الكلمات واختيار أكثرها فعالية.
الطريقة الأولى والأسهل لحساب عدد الكلمات هي استخدام وظيفة الانقسام (). يقوم بتقسيم سلسلة إلى سلاسل فرعية بواسطة محدد محدد ، وهو مسافة افتراضيا ، ويعيد قائمة بهذه السلاسل الفرعية. يمكنك حساب عدد الكلمات في القائمة باستخدام وظيفة لين ().
ومع ذلك ، لا يأخذ هذا النهج في الاعتبار جميع فواصل الكلمات الممكنة ، مثل النقاط والفواصل وعلامات التعجب وعلامات الاستفهام ، بالإضافة إلى علامات الترقيم الأخرى. لحساب أكثر دقة ، يمكننا استخدام وحدة إعادة, الذي يوفر الدعم لالتعابير العادية في بيثون.
مع مساعدة من وحدة إعادة ، يمكننا تحديد التعبير العادي الذي سوف تتطابق مع الكلمات. على سبيل المثال ، يمكننا استخدام التعبير ص"\ث+" لمطابقة الكلمات المكونة من أحرف وأرقام. ثم يمكننا استخدام وظيفة فيندال () للعثور على جميع المباريات في السلسلة. يمكنك حساب عدد الكلمات ، كما في المثال السابق ، باستخدام وظيفة لين ().
- كيفية حساب عدد الكلمات بشكل صحيح في بيثون?
- باستخدام أساليب مدمجة
- قراءة وتقسيم النص إلى كلمات
- تجاهل الأحرف الفارغة وغير الحروف
- رسائل حساسة لحالة الأحرف
- عد عدد الكلمات
- 1. باستخدام أساليب السلسلة المضمنة
- 2. استخدام التعبيرات العادية
- 3. معالجة النص بشكل متكرر
- سؤال وجواب
كيف يمكنني حساب عدد الكلمات في بيثون بشكل صحيح?
يعد حساب عدد الكلمات في النص أحد المهام الشائعة عند العمل مع البيانات النصية في بايثون. يقدم هذا الدليل عدة طرق لحل هذه المشكلة.
1. تقسيم سلسلة إلى كلمات
الذي يقسم سلسلة إلى قائمة سلاسل فرعية باستخدام محدد محدد-في هذه الحالة ، مسافة:
النص = "هذا مثال على نص لحساب عدد الكلمات"
الكلمات = النص.انقسام()
عدد الكلمات = لين (كلمات)
طباعة (و " عدد الكلمات: {عدد الكلمات}")
2. عد الكلمات باستخدام التعبيرات العادية
للعمل مع التعبيرات العادية. يمكنك استخدام تعبير عادي يبحث عن جميع مجموعات الأحرف التي تتكون من أحرف وأرقام:
استيراد إعادة
النص = "هذا مثال على نص لحساب عدد الكلمات"
نمط = إعادة.ترجمة (ص ' \ ث+')
مباريات = نمط.فيندال (نص)
عدد الكلمات= لين (مباريات)
طباعة (و " عدد الكلمات: {عدد الكلمات}")
3. استخدام مكتبة نلتك
. ثم يمكنك استخدام التعليمات البرمجية التالية:
استيراد نلتك
النص = "هذا مثال على نص لحساب عدد الكلمات"
كلمات = نلتك.كلمة (نص)
عدد الكلمات = لين (كلمات)
طباعة (و " عدد الكلمات: {عدد الكلمات}")
4. باستخدام العداد
، والتي تحسب بشكل ملائم عدد كل عنصر في التسلسل. عند حساب الكلمات ، يمكنك استخدام هذه الفئة على النحو التالي:
من مجموعات استيراد العداد
النص = "هذا مثال على نص لحساب عدد الكلمات"
الكلمات = النص.انقسام()
عدد الكلمات = عداد (كلمات)
عدد الكلمات = مجموع(عدد الكلمات.القيم())
طباعة (و " عدد الكلمات: {عدد الكلمات}")
الآن أنت تعرف عدة طرق لحساب الكلمات في البيانات النصية في بيثون. اختيار واحد الذي هو الأكثر ملاءمة لمهمة محددة ومواصلة العمل مع النص بكفاءة!
باستخدام أساليب مدمجة
بيثون لديها العديد من الأساليب المضمنة التي يمكن استخدامها لحساب عدد الكلمات في سلسلة. دعونا نلقي نظرة على الطرق الأكثر شيوعا:
- الانقسام() هو دالة تقسم سلسلة إلى قائمة سلاسل فرعية باستخدام مسافات كفاصل. سيكون عدد الكلمات في كل سطر مساويا لطول القائمة الناتجة.
- العد () هو طريقة تحسب عدد تكرارات السلسلة الفرعية المحددة في السلسلة المصدر. يمكنك استخدامه لحساب عدد المسافات في سطر وإضافة واحدة للحصول على العدد الإجمالي للكلمات.
- لين () هي دالة تقوم بإرجاع عدد العناصر في كائن. إذا قمت بتمرير قائمة من الكلمات لذلك ، فإنه سيتم إرجاع العدد الإجمالي للكلمات.
وفيما يلي نموذج التعليمات البرمجية مما يدل على استخدام هذه الأساليب:
# خط المصدر
سلسلة = "مثال على سلسلة لحساب عدد الكلمات"
# باستخدام طريقة الانقسام () و لين ()
وظيفة قائمة الكلمات = سلسلة.انقسام()
عدد الكلمات = لين(قائمة الكلمات)
طباعة ("عدد الكلمات المحسوبة باستخدام سبليت () ولين ():" ، عدد الكلمات)
# باستخدام العد()وظيفة لين ()
عد الفضاء = سلسلة.العد ( "" ) + 1
طباعة ("عدد الكلمات المحسوبة باستخدام العد () و لين ():" ، العد الفضائي)
# الجمع بين الانقسام () ، العد () ولين ()
طرق عدد الكلمات= لين (سلسلة.انقسام ())
طباعة ("عدد الكلمات المحسوبة باستخدام الانقسام () ، العد () و لين ():" ، عدد الكلمات)
نتيجة تنفيذ التعليمات البرمجية:
| خاتمة |
|---|
| عدد الكلمات المحسوبة باستخدام سبليت () ولين (): 6 |
| عدد الكلمات المحسوبة باستخدام العد () ولين (): 6 |
| عدد الكلمات المحسوبة باستخدام الانقسام () ، العد () ولين (): 6 |
في هذا المثال ، استخدمنا مجموعات مختلفة من هذه الطرق لحساب عدد الكلمات في السلسلة المصدر. وفقا لنتائج تنفيذ التعليمات البرمجية ، من الواضح أن جميع الخيارات أعطت نفس النتيجة.
يعتمد اختيار طريقة حساب عدد الكلمات على تفضيلات المطور الأصلي. قد تكون بعض الطرق أكثر ملاءمة أو فعالية في بعض المواقف ، لذلك يوصى بتجربة واختيار الطريقة الأنسب في كل حالة.
قراءة وتقسيم النص إلى كلمات
تتمثل إحدى المهام الأولى عند حساب عدد الكلمات في النص في قراءة النص وتقسيمه إلى كلمات منفصلة. في بايثون ، يمكنك استخدام طرق ووظائف مختلفة للقيام بذلك.
واحدة من أسهل الطرق لقراءة النص هي استخدام وظيفة الإدخال (). تتيح هذه الميزة للمستخدم إدخال نص مباشرة في وحدة التحكم. على سبيل المثال:
النص = الإدخال ("أدخل النص:")
نقوم بحفظ النص الذي تم إدخاله في متغير النص. الآن يمكننا تقسيم هذا النص إلى كلمات منفصلة.
تتمثل إحدى طرق تقسيم النص إلى كلمات في استخدام طريقة الانقسام (). تقسم هذه الطريقة سلسلة إلى سلاسل فرعية باستخدام مسافة أو فاصل آخر. على سبيل المثال:
الكلمات = النص.انقسام()
نقسم النص إلى كلمات ونحفظ النتيجة في متغير الكلمات. الآن لدينا قائمة بجميع الكلمات من النص.
بالإضافة إلى ذلك ، يمكنك استخدام طرق أكثر تعقيدا لتقسيم النص إلى كلمات ، على سبيل المثال ، باستخدام التعبيرات العادية باستخدام وحدة إعادة. تتيح لك هذه الطريقة تحديد قواعد أكثر دقة لتقسيم النص إلى كلمات. على سبيل المثال:
استيراد إعادة
كلمات = إعادة.فيندال (ص'\ث+' ، نص)
في هذه الحالة ، نستخدم تعبيرا عاديا للعثور على جميع الكلمات في النص. إعادة.فيندال () وظيفة بإرجاع قائمة بجميع المباريات وجدت.
بعد تقسيم النص إلى كلمات فردية ، يمكننا البدء في حساب عددهم باستخدام طرق ووظائف مختلفة. على سبيل المثال ، لمعرفة العدد الإجمالي للكلمات ، يمكننا استخدام لين () وظيفة:
مجموع الكلمات = لين (كلمات)
نحن فقط تمرير قائمة الكلمات إلى وظيفة لين () والحصول على عدد من العناصر في القائمة.
وبالتالي ، فإن قراءة النص وتقسيمه إلى كلمات هي الخطوة الأولى في حساب عدد الكلمات في بايثون. ثم يمكننا استخدام الكلمات الناتجة لمزيد من تحليل النص ومعالجته.
تجاهل الأحرف الفارغة وغير الحروف
عند حساب عدد الكلمات في النص ، من المهم مراعاة الكلمات فقط ، وتجاهل الأحرف الفارغة والأرقام والرموز الأخرى التي لا تتعلق بالكلمات. يمكن استخدام التعبيرات العادية لحل هذه المشكلة.
يسمح لك بالعثور على جميع الكلمات في النص. هنا ، يشير الرمز \ ب إلى حد الكلمة ،و \ ث+ يشير إلى حرف أبجدي رقمي واحد أو أكثر.
مثال على كود بايثون:
استيراد إعادة
عدد الكلمات (نص):
كلمات = إعادة.فيندال (ص'\ب\ث+\ب' ، النص)
عودة لين (كلمات)
مثال الاستخدام:
نص = " هذا مثال على النص. يتم حساب الكلمات باستخدام التعبيرات العادية."
عدد الكلمات = عدد الكلمات(نص)
طباعة (و " عدد الكلمات في النص: {عدد الكلمات}")
نتيجة لعملية التعليمات البرمجية ، سيكون الإخراج:
عدد الكلمات في النص: 9
وبالتالي ، فإن تجاهل الأحرف الفارغة وغير الأحرف يسمح لك بحساب عدد الكلمات في النص بدقة أكبر.
رسائل حساسة لحالة الأحرف
عند حساب عدد الكلمات في النص ، هناك مسألة مهمة تتمثل في مراعاة حالة الحروف. اعتمادا على متطلبات المشروع ، يمكنك أن تقرر ما إذا كنت ستأخذ في الاعتبار الحالة أو إحضار النص إلى سجل واحد لإجراء حساب أكثر دقة.
إذا كنت بحاجة إلى مراعاة الحالة ، فعليك الانتباه إلى حقيقة أن كل كلمة مكتوبة بحالة مختلفة سيتم اعتبارها كلمة منفصلة. هذا يعني أن الكلمتين" مرحبا "و" مرحبا " ستعتبران كلمات مختلفة.
على سبيل المثال ، لنفترض أن لدينا النص التالي:
النص: مرحبا ، العالم. تحية أبناء الأرض!
العد الحساس لحالة الأحرف: 4 كلمات
تخيل الآن أننا نختزل النص إلى أحرف صغيرة قبل العد:
نص (مخفض إلى أحرف صغيرة): مرحبا ، العالم. تحية أبناء الأرض!
العد الحساس لحالة الأحرف: 3 كلمات
كما يتبين من المثال ، يؤثر استخدام الحالة على نتيجة عد الكلمات.
من المهم النظر في متطلبات المشروع وتحديد ما إذا كان يجب مراعاة حالة الحروف عند حساب الكلمات. قد تتطلب بعض المشاريع معالجة حساسة لحالة الأحرف لمعالجة النصوص بشكل أكثر دقة ، بينما قد يفضل البعض الآخر اختزال النص إلى سجل واحد من أجل عد أبسط ولا لبس فيه.
عد عدد الكلمات
قبل أن نبدأ في حساب عدد الكلمات في النص ، نحتاج إلى معرفة ما يجب اعتباره كلمة. في هذا السياق ، الكلمة هي أي تسلسل من الأحرف مفصولة بمسافات أو علامات ترقيم.
يمكن استخدام طرق وأساليب مختلفة لحساب عدد الكلمات في بايثون. دعونا نلقي نظرة على عدد قليل منهم:
- باستخدام أساليب السلسلة المضمنة
- استخدام التعبيرات العادية
- معالجة النص بشكل متكرر
1. باستخدام أساليب السلسلة المضمنة
في بايثون ، يمكنك استخدام وظيفة الانقسام لحساب عدد الكلمات في السطر. تقسم هذه الدالة سلسلة إلى كلمات باستخدام مسافة كفاصل ، ثم ترجع قائمة بالكلمات. لحساب عدد الكلمات في القائمة الناتجة ، يمكنك استخدام لين:
نص = وظيفةهذا مثال على نص لحساب عدد الكلمات"
الكلمات = النص.انقسام()
عدد الكلمات = لين (كلمات)
طباعة ("عدد الكلمات:" ، عدد الكلمات)
2. استخدام التعبيرات العادية
هناك طريقة أخرى لحساب عدد الكلمات في النص وهي استخدام وحدة إعادة (التعبيرات العادية). توفر وحدة إعادة بايثون وظائف للعمل مع التعبيرات العادية التي تسمح لك بإجراء عمليات بحث ومعالجة نصية معقدة. في هذه الحالة ، سوف نستخدم طريقة فيندال للبحث عن كل الكلمات في النص:
استيراد إعادة
النص = "هذا مثال على نص لحساب عدد الكلمات"
كلمات = إعادة.فيندال (ص'\ث+' ، نص)
عدد الكلمات = لين (كلمات)
طباعة ("عدد الكلمات:" ، عدد الكلمات)
3. معالجة النص بشكل متكرر
الطريقة الثالثة لحساب عدد الكلمات هي معالجة حرف النص بشكل متكرر حسب الحرف وحساب عدد الكلمات في العملية:
النص = "هذا نص مثال لحساب عدد الكلمات"
عدد الكلمات = 0
هو_كلمة = خطأ
لشار في النص:
إذا شار.إيسالفا () أو شار.إسديجيت():
إن لم يكن هو_كلمة:
هو_كلمة = صحيح
عدد الكلمات += 1
آخر:
هو_كلمة = خطأ
طباعة ("عدد الكلمات:" ، عدد الكلمات)
يعتمد اختيار كيفية حساب عدد الكلمات في النص على المهمة المحددة وتفضيلات المبرمج.