الانتقال إلى المحتوى الرئيسي

كيف يمكنني حساب عدد الأحرف في سلسلة في بيثون? / دروس البرمجة

  • المهندسة لارا الخطيب بني جماعة الكناني
  • الأسئلة

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

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

على سبيل المثال ، إذا كان لدينا سلسلة "مرحبا ، العالم!"،ثم يمكنك استخدام التعليمات البرمجية التالية:

سلسلة = " مرحبا العالم!"

طول = لين (سلسلة)

ستكون نتيجة تنفيذ هذا الرمز 13 ، لأن هذا السطر يحتوي على 13 حرفا.

  1. كيف يمكنني حساب عدد الأحرف في سلسلة في بيثون?
  2. باستخدام وظيفة لين ()
  3. باستخدام ل حلقة
  4. استخدام التعبيرات العادية
  5. باستخدام المدمج في لين () وظيفة
  6. عبور سلسلة باستخدام حلقة
  7. 1. باستخدام ل حلقة
  8. 2. استخدام الفهارس
  9. 3. العمل مع أحرف يونيكود
  10. العمل مع سلاسل يونيكود
  11. العمل مع الشخصيات الموسعة
  12. استخدام مكتبات الجهات الخارجية لحساب الأحرف
  13. سؤال وجواب
  14. كيف يمكنني حساب عدد الأحرف في سلسلة في بيثون?
  15. هل يمكنني استخدام لين () وظيفة لحساب عدد الأحرف في سلسلة تحتوي على أرقام?
  16. كيف تختلف وظيفة لين () عن الطريقة.عد () لحساب عدد الأحرف في سلسلة?
  17. كيف يمكنني حساب عدد الأحرف في سلسلة, تجاهل القضية?

كيف يمكنني حساب عدد الأحرف في سلسلة في بيثون?

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

باستخدام وظيفة لين ()

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

وفيما يلي مثال على استخدام وظيفة لين () لحساب عدد الأحرف في سلسلة:

سلسلة = " مرحبا ، العالم!"

العد = لين (سلسلة)

طباعة ("عدد الأحرف في سلسلة:" ، العد)

في هذا المثال ، تقوم دالة لين() بحساب جميع الأحرف في سلسلة ، بما في ذلك المسافات وعلامات الترقيم.

باستخدام ل حلقة

إذا كنت ترغب في معرفة عدد المرات التي يحدث كل حرف في سلسلة ، يمكنك استخدام لحلقة والقاموس:

سلسلة = " مرحبا العالم!"

شار_كونت = {}

لشار في سلسلة:

إذا شار في شار_كونت:

شار_كونت [شار] + = 1

آخر:

شار_كونت [شار] = 1

طباعة ("عدد الأحرف في كل سطر:")

لشار ، عد في تشار_كونت.البنود():

طباعة (شار،": "، عدد)

في هذا المثال ، نقوم بإنشاء قاموس فارغ لعدد الأحرف ، والذي سيحتوي على رقم كل حرف في السلسلة. ثم نذهب من خلال كل حرف في السلسلة باستخدام للحلقة. إذا كان الرمز موجودا بالفعل في القاموس ، فإننا نزيد عداده بمقدار 1. إذا لم يكن الرمز موجودا في القاموس بعد ، فإننا نضيفه بالقيمة 1.

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

استخدام التعبيرات العادية

لمزيد من المهام المعقدة من عد الأحرف في سلسلة ، مثل عد الكلمات أو أحرف معينة ، يمكنك استخدام وحدة إعادة والتعبيرات العادية:

استيراد إعادة

سلسلة = " مرحبا العالم!"

شار_كونت = لين (إعادة.فيندال ("."،سلسلة))

طباعة ("عدد الأحرف في سلسلة:" ، عدد الأحرف)

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

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

باستخدام المدمج في لين () وظيفة

. يقوم بإرجاع عدد الأحرف في سلسلة ، بما في ذلك المسافات وعلامات الترقيم والأحرف الخاصة.

مثال الاستخدام:

كلمة = " مرحبا العالم!"

الطول = لين (كلمة)

طباعة (طول)

ستكون نتيجة تنفيذ هذا الرمز 13 ، نظرا لوجود 13 حرفا في السطر " مرحبا بالعالم!".

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

مثال على الاستخدام في القوائم:

قائمتي = [1, 2, 3, 4, 5]

الطول = لين (قائمتي)

طباعة (طول)

هناك 5 عناصر.

يجعل من السهل والسريع لحساب عدد الأحرف في سلسلة والعناصر في أنواع البيانات الأخرى.

عبور سلسلة باستخدام حلقة

في لغة برمجة بايثون ، هناك عدة طرق لاجتياز سلسلة باستخدام حلقة. دعونا ننظر إلى بعض منهم:

1. باستخدام ل حلقة

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

سلسلة = " مرحبا ، العالم!"

لشار في سلسلة:

طباعة (شار)

ستكون نتيجة تنفيذ هذا الرمز:

P

r

و

v

e

t

,

m

و

r

!

2. استخدام الفهارس

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

سلسلة = " مرحبا ، العالم!"

طول = لين (سلسلة)

الفهرس = 0

بينما المؤشر < الطول:

طباعة (سلسلة [فهرس])

مؤشر + = 1

ستكون نتيجة تنفيذ هذا الرمز هي نفسها كما في الحالة السابقة.

3. العمل مع أحرف يونيكود

في بيثون ، يمكنك العمل ليس فقط مع الأحرف العادية ، ولكن أيضا مع أحرف يونيكود التي تحتل عدة مواقع في سلسلة. للقيام بذلك ، هناك طريقة ترميز تسمح لك بالحصول على قائمة بأحرف يونيكود من سلسلة:

سلسلة = " مرحبا ، العالم!"

يونيكود = سلسلة.ترميز ('أوتف-8')

لشار في يونيكود:

طباعة (مركز حقوق الإنسان (شار))

ستكون نتيجة تنفيذ هذا الرمز:

N

r

و

e

t

,

m

و

r

!

في هذا التمثيل ، تحتوي أحرف يونيكود على تنسيق رقمي ، لذلك نستخدم وظيفة مركز حقوق الإنسان لتحويل الأرقام إلى أحرف.

وبالتالي ، يمكن تنفيذ عبور سلسلة باستخدام حلقة بيثون بطرق مختلفة ، اعتمادا على متطلبات وخصائص المهمة.

العمل مع سلاسل يونيكود

في لغة البرمجة بيثون ، يمكنك العمل بسهولة مع سلاسل يونيكود وتنفيذ عمليات مختلفة معهم. يونيكود هو المعيار الذي يحدد ترميز الأحرف العالمي لجميع أنظمة الكتابة في العالم.

لإنشاء سلسلة يونيكود في بيثون ، يتم استخدام البادئة 'ش' قبل علامة الاقتباس الافتتاحية. على سبيل المثال:

أوسترينج = ش " مرحبا ، العالم!"

أوسترينغ يحتوي على سلسلة يونيكود " مرحبا ، العالم!". انتبه إلى استخدام الأحرف السيريلية في السلسلة.

. على سبيل المثال:

أوسترينج = ش " مرحبا بالعالم!"

طول = لين (أوسترينغ)

طباعة ("عدد الأحرف:" ، الطول)

في هذا المثال ، عدد الأحرف في السطر " مرحبا ، العالم!"سيتم عرضها على الشاشة ، وهو 12.

يمكنك أيضا إجراء عمليات مختلفة على سلاسل يونيكود ، مثل التسلسل والتسلسل. يتم تنفيذ عملية الدمج باستخدام عامل التشغيل'+'. على سبيل المثال:

أوسترينج 1 = يو "مرحبا"

أوسترينغ 2 = ش " العالم!"

النتيجة = استخدام1 + استخدام2

طباعة (نتيجة)

في هذا المثال ، السلاسل "مرحبا" و " العالم!"يتم دمجها في سلسلة واحدة" مرحبا ، العالم!".

. على سبيل المثال:

أوسترينغ 1 = ش"مرحبا"

أوسترينغ 2 = ش "العالم"

فاصل = ش"،"

النتيجة = فاصل.انضم ([الولايات المتحدة 1 ، الولايات المتحدة 2])

طباعة (نتيجة)

في هذا المثال ، يتم تسلسل السلاسل "مرحبا" و "العالم" باستخدام الفاصل " ، " وستكون النتيجة سلسلة "مرحبا ، العالم".

وبالتالي ، فإن العمل مع سلاسل يونيكود في لغة برمجة بايثون بسيط للغاية ويسمح لك بإجراء عمليات مختلفة على السلاسل ، وكذلك حساب عدد الأحرف في السلسلة.

العمل مع الشخصيات الموسعة

عند العمل مع السلاسل في بيثون ، غالبا ما تكون هناك مواقف عندما يكون من الضروري حساب عدد الأحرف في السلسلة. ومع ذلك ، عند استخدام أحرف موسعة مثل الرموز التعبيرية أو الرموز من لغات أخرى ، تنشأ بعض الصعوبات.

السلاسل في بيثون هي سلسلة من الأحرف. يشغل كل حرف عددا معينا من وحدات البايت في الذاكرة. ومع ذلك ، بالنسبة للأحرف التي تستخدم ترميزا موسعا مثل أوتف-8 ، يمكن أن يكون عدد البايتات متغيرا.

لحساب عدد الأحرف في سلسلة ، يمكنك استخدام وظيفة لين (). ومع ذلك ، تقوم وظيفة لين() بإرجاع عدد العناصر في سلسلة ، وليس عدد الأحرف. في حالة الأحرف الموسعة ، قد تقوم وظيفة لين() بإرجاع قيم غير صحيحة.

لحساب عدد الأحرف في سلسلة بشكل صحيح باستخدام الأحرف الموسعة ، يمكنك استخدام وظيفة ونيكوديداتا. تحتوي وحدة يونيكوديداتا على وظائف مفيدة للعمل مع أحرف يونيكود.

مثال على استخدام وظيفة يونيكوديداتا:

استيراد يونيكوديداتا

س = " مثال على سلسلة رموز تعبيرية 😊"

رمز العد = لين(يونيكوديداتا.تطبيع ('نفك' ، ق))

طباعة (عدد الرموز) # المخرجات 21

وظيفة يونيكوديداتا.تطبيع () يحول سلسلة إلى تنسيق يونيكود تطبيع (نفك) وإرجاع عدد الأحرف في سلسلة تطبيع.

وهكذا ، عند العمل مع الأحرف الموسعة في بيثون ، فمن الضروري أن تأخذ في الاعتبار ميزاتها واستخدام وحدة ونيكوديداتا لحساب عدد الأحرف في سلسلة بشكل صحيح.

استخدام مكتبات الجهات الخارجية لحساب الأحرف

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

1. مكتبة لين()

يسمح لك بحساب عدد الأحرف في سلسلة. فإنه يأخذ سلسلة كوسيطة وإرجاع عدد الأحرف في تلك السلسلة. مثال الاستخدام:

# استيراد لين () وظيفة غير مطلوب ، بل هو المدمج في وظيفة الثعبان

سلسلة = "سلسلة سبيل المثال"

طول = لين (سلسلة)

طباعة (و " عدد الأحرف في سلسلة: {الطول}")

2. مكتبة بيبي

يوفر أدوات ملائمة لتحليل النص ، بما في ذلك عد الأحرف.

# تثبيت مكتبة تكستستات باستخدام نقطة

!نقطة تثبيت تكستستات

مثال الاستخدام:

# استيراد تكستستات.وظيفة تشار_كونت () من مكتبة تكستستات

من تكستستات استيراد شار_كونت

سلسلة = "سلسلة سبيل المثال"

الطول = عدد الأحرف (سلسلة)

طباعة (و " عدد الأحرف في سلسلة: {الطول}")

3. مكتبة ريجكس

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

# تثبيت مكتبة التعبير العادي باستخدام نقطة

!نقطة تثبيت التعبير العادي

مثال الاستخدام:

# استيراد وظيفة التعبير العادي.فيندال () من مكتبة ريجكس

استيراد التعبير العادي كما إعادة

سلسلة = "سلسلة سبيل المثال"

طول = لين (إعادة.فيندال ("."،سلسلة))

طباعة (و " عدد الأحرف في سلسلة: {الطول}")

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

سؤال وجواب

كيف يمكنني حساب عدد الأحرف في سلسلة في بيثون?

لحساب عدد الأحرف في سلسلة ، يمكنك استخدام وظيفة لين (). على سبيل المثال ، إذا كان لديك سلسلة س = "مرحبا ، العالم!"،ثم يمكنك استخدام التعليمات البرمجية التالية: لين(ق). سيؤدي هذا إلى إرجاع عدد الأحرف في السلسلة ، في هذه الحالة 13.

هل يمكنني استخدام لين () وظيفة لحساب عدد الأحرف في سلسلة تحتوي على أرقام?

نعم ، يمكنك استخدام وظيفة لين () لحساب الأحرف في سلسلة تحتوي على أرقام. تقوم وظيفة لين() بحساب جميع الأحرف ، بما في ذلك الأرقام والمسافات والأحرف الخاصة. على سبيل المثال ، إذا كان لديك سلسلة س ="12345" ، فإن وظيفة لين(ق) العودة 5 لأن هناك 5 أحرف في السلسلة.

كيف تختلف وظيفة لين () عن الطريقة.عد () لحساب عدد الأحرف في سلسلة?

لين () وظيفة وطريقة .العد () لها أهداف مختلفة. تسمح لك وظيفة لين() بحساب العدد الإجمالي للأحرف في سلسلة ، بما في ذلك تكرار الأحرف. على سبيل المثال ، إذا كان لديك سلسلة س = "أبراكادابرا" ، فإن وظيفة لين(ق) يعود 11 ، لأن هناك 11 حرفا في السلسلة (الحرف " أ " يتكرر 4 مرات). الطريقة.من ناحية أخرى ، يسمح لك العد () بحساب عدد حرف معين في سلسلة. على سبيل المثال ، إذا كان لديك السلسلة س = "أبراكادابرا" ، س.العد ('أ') سيعود 4 ، لأن الحرف ' أ ' يحدث 4 مرات في السلسلة.

كيف يمكنني حساب عدد الأحرف في سلسلة, تجاهل القضية?

إذا كنت بحاجة إلى حساب عدد الأحرف في سلسلة, تجاهل حالة, يمكنك أولا تحويل السلسلة إلى حالة أقل أو العلوي باستخدام .أقل () أو .العلوي () طرق. ثم يمكنك استخدام وظيفة لين () لحساب الأحرف في السلسلة المحولة. على سبيل المثال ، إذا كان لديك سلسلة س = "مرحبا ، العالم!"وتريد حساب عدد الأحرف ، وتجاهل الحالة ، يمكنك استخدام الكود التالي: لين(ق.أقل()) أو لين(ق.العلوي()). سيعود كلا الخيارين 13 ، لأن هناك 13 حرفا في السلسلة ، بغض النظر عن الحالة.