في البرمجة ، غالبا ما يكون من الضروري حساب عدد الأرقام في السلسلة. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، عند معالجة الملفات النصية أو عند التحقق من إدخال المستخدم.
تقدم بايثون طرقا مختلفة لحل هذه المشكلة. في هذه المقالة ، سننظر في عدة طرق لحساب عدد الأرقام في سلسلة باستخدام وظائف وطرق مختلفة.
واحدة من أبسط الطرق وأكثرها قابلية للفهم هي استخدام حلقة تتحقق من كل حرف من السلسلة وتحسب عدد الأرقام. داخل الحلقة ، يمكننا استخدام طريقة إسديجيت () ، والتي ترجع صحيح إذا كان الحرف هو رقم.
على سبيل المثال ، إذا كان لدينا متغير 'سلسلة' مع قيمة سلسلة 'مرحبا 123' ، يمكننا استخدام التعليمات البرمجية التالية لحساب عدد الأرقام:
العد = 0
لشار في سلسلة:
إذا شار.إسديجيت():
عدد + = 1
وبالتالي ، نتيجة لتنفيذ هذا الرمز ، فإن المتغير 'العد' يكون مساويا ل 3 ، لأن سلسلة 'مرحبا 123' يحتوي على ثلاثة أرقام.
- كيف يمكنني حساب عدد الأرقام?
- أساسيات عد الأرقام على التوالي
- التكرار من خلال أحرف السلسلة
- استخدام التعبيرات العادية
- استخدام وظائف لحساب الأرقام في سلسلة
- باستخدام حلقة
- باستخدام شارع.طريقة إيسنوميريك ()
- استخدام التعبيرات العادية
- أمثلة على استخدام الوظائف
- سؤال وجواب
- كيف يمكنني حساب عدد الأرقام في سلسلة باستخدام بيثون?
- هل لدى بايثون وظيفة جاهزة لحساب عدد الأرقام في سلسلة?
- هل من الممكن لحساب عدد من الأرقام في سلسلة دون استخدام حلقة?
- هل من الممكن لحساب عدد الأرقام في سلسلة إذا كان هناك أحرف أخرى في ذلك?
- كيف يمكنني حساب عدد الأرقام في سلسلة إذا كان هناك مسافات في ذلك?
كيف يمكنني حساب عدد الأرقام?
يمكن استخدام عدة طرق لحساب عدد الأرقام في سلسلة في بايثون.
- العد اليدوي
- استخدام التعبيرات العادية
- باستخدام مولد القائمة
الطريقة الكلاسيكية لحساب الأرقام في سلسلة هي المرور عبر كل حرف من السلسلة والتحقق مما إذا كان رقما. إذا كان الرمز رقما ، فقم بزيادة العداد بمقدار 1.
طريقة أخرى لحساب الأرقام في سلسلة هي استخدام وحدة إعادة الثعبان باستخدام التعبيرات العادية. التعبير العادي \ د يطابق أي رقم ، ويمكن استخدامها للبحث عن الأرقام في سلسلة.
يمكننا استخدام مولد قائمة لإنشاء قائمة بجميع الأرقام في سلسلة. ثم يمكننا الحصول على عدد الأرقام باستخدام لين () وظيفة.
يعتمد اختيار الطريقة على تفضيلاتك ومتطلبات مشروعك. إذا كنت تحتاج فقط إلى حساب عدد الأرقام ، فيمكنك استخدام طريقة أبسط وأسرع ، مثل العد اليدوي أو التعبيرات العادية. إذا كنت بحاجة أيضا إلى العثور على جميع الأرقام ، فقد يكون استخدام منشئ القائمة أكثر ملاءمة.
| الطريقة | المزايا | العيوب |
|---|---|---|
| العد اليدوي | - لا حاجة لاستيراد وحدات إضافية | — قد يكون من الصعب التحقق من جميع متغيرات الأحرف الممكنة في سلسلة |
| التعبيرات العادية | — يمكنك تحديد شروط بحث أكثر تحديدا | - استخدام أكثر تعقيدا للمبتدئين |
| قائمة المولدات | - التحقق من حدوث حرف غير مطلوب | - استخدام الذاكرة غير فعالة لسلاسل كبيرة |
أساسيات عد الأرقام على التوالي
عند العمل مع النص في بيثون ، غالبا ما يكون من الضروري حساب عدد الأرقام في سلسلة. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، لتحليل البيانات أو للتحقق من صحة إدخال المستخدم.
هناك عدة طرق لحساب الأرقام في سلسلة في بايثون ، وسنلقي نظرة على بعضها:
- التكرار من خلال أحرف السلسلة
- استخدام التعبيرات العادية
التكرار من خلال أحرف السلسلة
إحدى الطرق الأساسية لعد الأرقام في سلسلة هي التكرار فوق أحرف السلسلة باستخدام حلقة. سنذهب من خلال كل حرف من السلسلة والتحقق مما إذا كان الحرف هو رقم. إذا تم استيفاء الشرط ، فإننا نزيد عداد الأرقام.
مثال على الكود:
"'بايثون
النص = "اي بي سي 123 دي في 456"
العد = 0
لشار في النص:
إذا شار.إسديجيت():
عدد + = 1
طباعة ("عدد الأرقام في سلسلة:" ، العد)
"`
نتيجة لتنفيذ التعليمات البرمجية أعلاه ، سيكون الإخراج:
"`
عدد الأرقام في السطر: 6
«`
استخدام التعبيرات العادية
للبحث عن جميع الأرقام في سلسلة.
مثال على الكود:
"'بايثون
استيراد إعادة
النص = "اي بي سي 123 دي في 456"
أرقام = إعادة.فيندال (البحث عن النص)
العد = لين (أرقام)
طباعة ("عدد الأرقام في سلسلة:" ، العد)
"`
إرجاع قائمة بالأرقام التي تم العثور عليها ، ثم نقوم فقط بحساب طول هذه القائمة.
نتيجة لتنفيذ التعليمات البرمجية أعلاه ، سيكون الإخراج:
"`
عدد الأرقام في كل سطر: 6
"`
وبالتالي ، فقد نظرنا في الطرق الرئيسية لحساب الأرقام في سلسلة باستخدام لغة برمجة بايثون. اعتمادا على مهمتك المحددة ، يمكنك اختيار أفضل طريقة لك.
استخدام وظائف لحساب الأرقام في سلسلة
يمكن إجراء حساب عدد الأرقام في سلسلة باستخدام وظائف لغة برمجة بايثون. في هذا القسم ، سننظر في عدة طرق باستخدام وظائف مختلفة.
- باستخدام حلقة
- باستخدام شارع.طريقة إيسنوميريك ()
- استخدام التعبيرات العادية
باستخدام حلقة
واحدة من أسهل الطرق لحساب الأرقام في سلسلة هي استخدام حلقة. يمكننا المرور عبر كل حرف من السلسلة والتحقق مما إذا كان رقما. إذا كان الرمز رقما ، فقم بزيادة العداد بمقدار 1.
"'بايثون
صفر العد_الأرقام_حلقة (سلسلة):
العد = 0
لشار في سلسلة:
إذا شار.إسديجيت():
عدد + = 1
عد العودة
سلسلة = "أبك 123 شيز"
العد = العد_الأرقام_الحلقة (سلسلة)
طباعة ("عدد الأرقام في سلسلة:"،العد)
«`
في هذا المثال ، تأخذ الدالة` العد_الأرقام_الحلقة 'السلسلة' كوسيطة. نحن تهيئة العداد 'العد' مع قيمة 0. ثم ، وذلك باستخدام` ل ' حلقة ، نذهب من خلال كل حرف من سلسلة `سلسلة`. إذا كان الحرف هو رقم ، زيادة العداد 'العد' بنسبة 1. في النهاية ، تقوم الدالة بإرجاع قيمة العداد.
باستخدام شارع.طريقة إيسنوميريك ()
وهناك طريقة أخرى لحساب الأرقام في سلسلة هو استخدام ' شارع.طريقة إيسنوميريك ()'. تتحقق هذه الطريقة مما إذا كان كل حرف من السلسلة رقما. إذا كان الحرف هو رقم ، فإن الطريقة ترجع صحيح ، وإلا كاذبة. يمكننا استخدام هذه الطريقة جنبا إلى جنب مع وظيفة` مجموع () `لحساب عدد الأحرف التي ترجع طريقة` إيسنوميريك () ' صحيح.
"'بايثون
صفر العد_الأرقام_الرقم (سلسلة):
العد = مجموع (شار.إيسنوميريك () لشار في سلسلة)
عد العودة
سلسلة = "أبك 123 شيز"
العد = العد_الأرقام_الرقم (سلسلة)
طباعة ("عدد الأرقام في سلسلة:" ، العد)
"`
في هذا المثال ، تأخذ الدالة` العد_الأرقام_الرقمية 'السلسلة' كوسيطة. نحن نستخدم مولد قائمة داخل وظيفة 'مجموع () `لإنشاء قائمة من القيم` صحيح `و` كاذبة `لكل حرف من سلسلة`سلسلة'. ثم ، 'مجموع ()` وظيفة' يلخص قيم القائمة ، وإرجاع العدد الإجمالي للأحرف التي` إيسنوميريك () ' طريقة إرجاع صحيح.
استخدام التعبيرات العادية
الطريقة الثالثة لحساب الأرقام في سلسلة هي استخدام التعبيرات العادية. Мы можем использовать модуль `re` языка Python, чтобы выполнить поиск всех цифр в строке с помощью регулярного выражения `\d`.
«`python
import re
def count_digits_regex(string):
count = len(re.findall(r’\d’, string))
return count
string = «abc123xyz»
count = count_digits_regex(string)
print(«Количество цифр в строке:», count)
«`
في هذا المثال ، تأخذ دالة` العد_الأرقام_الرقم 'السلسلة' كوسيطة. نحن نستخدم ' إعادة.فيندال () 'طريقة من وحدة 'إعادة' للبحث عن جميع الأرقام في السلسلة باستخدام التعبير العادي '\ د'. ثم ، تقوم الدالة` لين () ' بإرجاع العدد الإجمالي للأرقام التي تم العثور عليها.
تسمح لك هذه الطرق الثلاث بحساب عدد الأرقام في سلسلة باستخدام وظائف مختلفة للغة برمجة بايثون. اختيار واحد الذي يناسب احتياجاتك ومتطلباتك.
أمثلة على استخدام الوظائف
وظائف وأساليب مختلفة يمكن استخدامها في بيثون لحساب عدد الأرقام في سلسلة. فيما يلي أمثلة على استخدام بعضها:
- طريقة إسديجيت ():
سلسلة = "12345"
العد = 0
لشار في سلسلة:
إذا شار.إسديجيت():
عدد + = 1
طباعة ("عدد الأرقام في سلسلة:" ، عد
- ) إيسنوميريك () وظيفة:
سلسلة = "12345"
العد = 0
لشار في سلسلة:
إذا شار.إيسنوميريك():
عدد + = 1
طباعة ("عدد الأرقام في سلسلة:"،العد)
- استخدام التعبيرات العادية مع وحدة إعادة:
استيراد إعادة
سلسلة = "أبك 123 ديف456غي"
العد = لين (إعادة.فيندال (ص '\ د ' ، سلسلة))
طباعة ("عدد الأرقام في سلسلة:" ، العد)
إذا لزم الأمر ، يمكنك استخدام وظائف وطرق أخرى لحل هذه المشكلة. يعتمد اختيار طريقة معينة على متطلبات المشروع وتفضيلات المطور.
سؤال وجواب
كيف يمكنني حساب عدد الأرقام في سلسلة باستخدام بيثون?
لحساب عدد الأرقام في سلسلة ، يمكنك استخدام حلقة وتعبير شرطي. فمن الضروري أن تذهب من خلال كل حرف من السلسلة باستخدام حلقة والتحقق مما إذا كان هذا الحرف هو رقم باستخدام وظيفة إسديجيت (). إذا كان الرمز رقما ، فقم بزيادة العداد بمقدار واحد. نتيجة لذلك ، نحصل على عدد الأرقام في السلسلة.
هل لدى بايثون وظيفة جاهزة لحساب عدد الأرقام في سلسلة?
لا تحتوي بايثون على وظيفة مضمنة لحساب عدد الأرقام في سلسلة ، ولكن يمكنك استخدام طرق وحلقات سلسلة جاهزة لأداء هذه المهمة. على سبيل المثال ، يمكنك استخدام طريقة لين() لحساب عدد الأحرف في سلسلة وطريقة إسديجيت() للتحقق من كل حرف لمعرفة ما إذا كان رقما.
هل من الممكن لحساب عدد من الأرقام في سلسلة دون استخدام حلقة?
نعم ، من الممكن حساب عدد الأرقام في سلسلة دون استخدام حلقة. بيثون لديه عدد سلسلة الجاهزة () الطريقة التي تسمح لك لحساب عدد من التكرارات من سلسلة فرعية معينة في سلسلة. يمكنك استخدام هذه الطريقة وجعل كل رقم من 0 إلى 9 سلسلة فرعية. بهذه الطريقة يمكننا حساب عدد الأرقام في سلسلة بدون حلقة.
هل من الممكن لحساب عدد الأرقام في سلسلة إذا كان هناك أحرف أخرى في ذلك?
نعم ، يمكنك حساب عدد الأرقام في سلسلة ، حتى إذا كانت هناك أحرف أخرى فيها. للقيام بذلك ، يمكننا استخدام طرق السلسلة والتعبيرات الشرطية. على سبيل المثال ، يمكنك استخدام طريقة إسديجيت() للتحقق من كل حرف من سلسلة ما إذا كان رقما ، وزيادة العداد فقط إذا كان الحرف هو رقم. وبالتالي ، يمكنك الحصول على عدد الأرقام في سلسلة ، وتجاهل الأحرف الأخرى.
كيف يمكنني حساب عدد الأرقام في سلسلة إذا كان هناك مسافات في ذلك?
إذا كانت هناك مسافات في السلسلة ، ولا نريد أخذها في الاعتبار عند حساب عدد الأرقام ، فيمكننا استخدام طريقة الاستبدال() لإزالة جميع المسافات من السلسلة قبل بدء العد. على سبيل المثال ، يمكنك استبدال جميع المسافات بسلسلة فارغة باستخدام طريقة الاستبدال (" " ، "" ) ثم حساب عدد الأرقام في السلسلة باستخدام حلقة وتعبير شرطي.