عند العمل مع معلومات نصية بلغة برمجة بايثون ، غالبا ما يكون من الضروري التحقق مما إذا كانت السلسلة تحتوي على رقم. قد تنشأ مثل هذه المهمة ، على سبيل المثال ، عند معالجة إدخال المستخدم أو تحليل البيانات النصية أو تصفية المعلومات وفقا لمعايير معينة. في هذه المقالة ، سننظر في عدة طرق للتحقق مما إذا كانت السلسلة تحتوي على رقم في بايثون.
الطريقة الأولى هي استخدام ل حلقة و إسديجيت() الأسلوب. طريقة إسديجيت() يتحقق ما إذا كان كل حرف من السلسلة يحتوي على رقم. إذا كانت جميع الأحرف عبارة عن أرقام ، فإن الطريقة ترجع صحيحة ، وإلا فهي خاطئة. ميزة هذه الطريقة هي أنها تسمح لك بمعالجة سلسلة أكثر مرونة وتنفيذ إجراءات إضافية اعتمادا على محتوياتها.
الطريقة الثانية هي استخدام وحدة إعادة (التعبيرات العادية) من مكتبة بايثون القياسية. توفر وحدة إعادة أدوات قوية للعمل مع البيانات النصية ، بما في ذلك البحث والتحقق من أنماط معينة. للتحقق من وجود رقم في سلسلة ، يمكنك استخدام التعبير العادي "\د" ، وهو ما يعني أي رقم. إذا كانت السلسلة تحتوي على رقم, وظيفة إعادة.بحث () إرجاع كائن المباراة ، وإلا لا شيء.
بالإضافة إلى هاتين الطريقتين ، هناك طرق أخرى لحل هذه المشكلة في بايثون. يعتمد اختيار طريقة معينة على متطلبات وخصائص مهمة معينة. بغض النظر عن الطريقة المختارة ، يعد التحقق من وجود رقم في سلسلة عملية مهمة وغالبا ما تستخدم في البرمجة.
- كيفية تحديد وجود رقم في سلسلة في بايثون
- طرق التحقق من وجود رقم في سلسلة في بايثون
- 1. طريقة إسديجيت ()
- 2. طريقة إيسنوميريك ()
- 3. الطريقة العشرية()
- 4. طريقة البحث ()
- 5. التعبيرات العادية
- باستخدام طريقة إسديجيت
- استخدام التعبيرات العادية للتحقق من وجود رقم في سلسلة
- استخدام حلقة للتحقق من وجود رقم في سلسلة
- التكرار من خلال أحرف سلسلة باستخدام وظيفة أورد المضمنة
- باستخدام طريقة إيسنوميريك لتحديد وجود رقم في سلسلة بيثون
- حالات خاصة وأمثلة عملية
- سؤال وجواب
- كيف يمكنني التحقق مما إذا كان هناك رقم واحد على الأقل في سلسلة?
- كيف يمكنني معرفة ما اذا كان هناك أرقام فقط في صف واحد?
- كيف يمكنني التحقق مما إذا كان هناك رقم واحد على الأقل في السلسلة, تجاهل الشخصيات الأخرى?
- كيف يمكنني التحقق مما إذا كان هناك رقم محدد في السلسلة?
- كيف يمكنني التحقق مما إذا كان هناك رقم واحد على الأقل في كل كلمة من سلسلة?
كيفية تحديد وجود رقم في سلسلة في بايثون
عند العمل مع نص بايثون ، غالبا ما يكون من الضروري تحديد وجود رقم في سلسلة. يمكن استخدام طرق وأساليب مختلفة لحل هذه المشكلة. دعونا نلقي نظرة على عدة طرق للتحقق من وجود رقم في سلسلة في بايثون.
طريقة إسديجيت ()
خلاف ذلك. النظر في مثال:
سلسلة = "مرحبا 123"
إن وجدت (شار.إسديجيت () لشار في سلسلة):
طباعة ("هناك رقم في السلسلة")
آخر:
طباعة ("لا توجد أرقام في السلسلة")
استخدام التعبيرات العادية
، الذي يبحث عن التطابق الأول مع التعبير العادي المحدد في السلسلة. النظر في مثال:
استيراد إعادة
سلسلة = "مرحبا 123"
إذا إعادة.البحث (ص '\ د ' ، سلسلة):
طباعة ("هناك رقم في السلسلة")
آخر:
طباعة ("لا توجد أرقام في السلسلة")
يستخدم ، والذي يطابق أي رقم في السطر.
باستخدام طريقة إيسنوميريك ()
خلاف ذلك. النظر في مثال:
سلسلة = "مرحبا 123"
إن وجدت (شار.إيسنوميريك () لشار في سلسلة):
طباعة ("هناك رقم في السلسلة")
آخر:
طباعة ("لا توجد أرقام في السلسلة")
باستخدام حلقة و أورد() وظيفة
، والتي ترجع رمز الحرف الرقمي. النظر في مثال:
سلسلة = "مرحبا 123"
لشار في سلسلة:
إذا أورد(شار) في نطاق (أورد ('0') ، أورد ('9')+1):
طباعة ("هناك رقم في السلسلة")
استراحة
آخر:
طباعة ("لا توجد أرقام في السلسلة")
) لتحديد ما إذا كان الرمز هو رقم.
الاستنتاجات
ناقشت المقالة طرقا مختلفة للتحقق من وجود رقم في سلسلة في بايثون. كل طريقة من الطرق المعروضة لها خصائصها الخاصة ويمكن استخدامها اعتمادا على المهمة المحددة. من المستحسن اختيار الطريقة الأنسب وفقا للمهمة ومتطلبات المشروع.
طرق التحقق من وجود رقم في سلسلة في بايثون
بيثون لديها العديد من الطرق التي تساعدك على التحقق من وجود أو عدم وجود رقم في سلسلة. في هذه المقالة ، سنلقي نظرة على بعض هذه الأساليب.
1. إسديجيت()
الطريقة ترجع طريقة إيسديجيت () صحيح إذا كانت جميع الأحرف في السلسلة هي أرقام ، وخطأ خلاف ذلك.
النص = "12345"
طباعة (نص.إسديجيت ()) # الإخراج: صحيح
النص = "بايثون"
طباعة (نص.إسديجيت ()) # الإخراج: كاذبة
2. إيسنوميريك()
الطريقة ترجع طريقة إيسنوميريك () صحيح إذا كانت جميع الأحرف في السلسلة هي أرقام ، وخطأ خلاف ذلك. كما أنه يعود صحيحا إذا كانت السلسلة تحتوي على أرقام كسرية أو أرقام بتنسيقات أخرى (على سبيل المثال ، الأرقام الرومانية).
النص = "12345"
طباعة (نص.إيسنوميريك ()) # الإخراج: صحيح
النص = "12.345"
طباعة (نص.إيسنوميريك ()) # الإخراج: كاذبة
النص ="""
طباعة (نص.إيسنوميريك ()) # الإخراج: صحيح
3.
ترجع الطريقة العشرية () صحيح إذا كانت جميع الأحرف في السلسلة هي أرقام عشرية ، وخطأ خلاف ذلك. لا يأخذ في الاعتبار الأحرف التي ليست أرقاما عشرية ، مثل آلاف الفواصل أو الفاصلة العشرية.
النص = "12345"
طباعة (نص.إيسديسيمال ()) # الإخراج: صحيح
النص = "12.345"
طباعة (نص.إيسديسيمال ()) # الإخراج: كاذبة
النص = "1 ، 234 ، 567"
طباعة (نص.إيسديسيمال ()) # الإخراج: كاذبة
4. البحث()
الطريقة تبحث طريقة البحث () عن السلسلة الفرعية المحددة في السلسلة وتعيد موضع التكرار الأول للسلسلة الفرعية. إذا لم يتم العثور على السلسلة الفرعية ، فإن الطريقة ترجع -1. يمكنك استخدام هذه الطريقة للبحث عن رقم في سلسلة.
النص = "مرحبا 12345"
فهرس = نص.البحث ("3")
طباعة (فهرس) # الإخراج: 8
النص = "مرحبا بايثون"
فهرس = نص.البحث ("5")
طباعة (فهرس) # الإخراج: -1
5. التعبيرات العادية
التي يمكن استخدامها للبحث عن أي نمط في سلسلة.
استيراد إعادة
النص = "مرحبا 12345"
مباراة = إعادة.بحث (ص" \ د " ، نص)
إذا تطابق:
طباعة ("تم العثور على الرقم")
آخر:
طباعة ("الرقم غير موجود")
، والذي يتوافق مع أي رقم.
هذه بعض الطرق التي يمكن استخدامها للتحقق من وجود رقم في سلسلة في بايثون. يعتمد اختيار الطريقة على متطلبات المشروع وتنسيق البيانات التي تعمل معها.
باستخدام طريقة إسديجيت
طريقة إيسديجيت هي طريقة سلسلة في بيثون التي تسمح لك للتحقق ما إذا كانت سلسلة تتكون فقط من الأرقام.
بناء الجملة من الطريقة:
| الطريقة | الوصف |
|---|---|
| سلسلة.إسديجيت() | يتحقق مما إذا كانت السلسلة تتكون من أرقام فقط |
ترجع طريقة إيسديجيت صحيح إذا كانت السلسلة تتكون فقط من أرقام ، وخطأ خلاف ذلك.
أمثلة الاستخدام:
- السلسلة"12345".إسديجيت () يعود صحيح ، لأن جميع الأحرف في السلسلة هي أرقام.
- سلسلة "أبك 123".إسديجيت () إرجاع كاذبة ، لأن هناك أحرف في السلسلة التي ليست أرقام.
- السلسلة "456".إسديجيت () إرجاع كاذبة لأن السلسلة تحتوي على مسافات.
طريقة إسديجيت مفيدة بشكل خاص عندما تحتاج إلى التحقق من سلسلة للبيانات الرقمية فقط. على سبيل المثال ، عند إدخال رقم هاتف أو رمز بريدي.
استخدام التعبيرات العادية للتحقق من وجود رقم في سلسلة
في لغة برمجة بايثون ، يمكنك استخدام التعبيرات العادية للتحقق من وجود رقم في سلسلة. تعد التعبيرات العادية أداة قوية للعمل مع البيانات النصية ، والتي تتيح لك البحث عن أنماط معينة وتحليلها.
قبل استخدام التعبيرات العادية في بيثون ، تحتاج إلى استيراد وحدة" إعادة". تحتوي هذه الوحدة على وظائف توفر الدعم للتعبيرات العادية في بايثون.
للتحقق من وجود رقم في سلسلة ، يمكنك استخدام التعليمات البرمجية التالية:
استيراد إعادة
تحقق مواطنه _ ديجيت (سلسلة):
نمط = ص '\ د'
مباراة = إعادة.بحث (نمط ، سلسلة)
إذا تطابق:
العودة الحقيقية
آخر:
العودة كاذبة
# مثال الاستخدام
طباعة (تحقق من الرقم ("مثال لسلسلة بالرقم 123")) # الإخراج: صحيح
طباعة (تحقق من الرقم ("هذا السطر لا يحتوي على رقم")) # الإخراج: خطأ
في هذا الرمز ، نقوم بإنشاء دالة التحقق من الأرقام التي تأخذ سلسلة كوسيطة. ثم نقوم بإنشاء قالب باستخدام التعبير العادي ص '\ د '، حيث' \د ' يعني أي رقم. إعادة.تبحث وظيفة البحث عن أول ظهور لنمط في سلسلة. إذا تم العثور على حدوث ، تقوم الدالة بإرجاع كائن تطابق ، والذي ، عند تحويله إلى قيمة منطقية ، سيعطي صحيحا. خلاف ذلك ، تقوم الدالة بإرجاع خطأ.
على سبيل المثال ، إذا قمت باستدعاء دالة التحقق من الرقم مع السلسلة "مثال لسلسلة بالرقم 123" ، فستعود صحيحة ، نظرا لوجود رقم في هذه السلسلة. إذا اتصلت بوظيفة التحقق من الرقم مع السلسلة" هذه السلسلة لا تحتوي على أرقام " ، فإنها ترجع خطأ ، نظرا لعدم وجود أرقام في هذه السلسلة.
وبالتالي ، فإن استخدام التعبيرات العادية يجعل من السهل والفعال التحقق من وجود رقم في سلسلة في بايثون.
استخدام حلقة للتحقق من وجود رقم في سلسلة
للتحقق من وجود رقم في سلسلة في بيثون ، يمكنك استخدام حلقة ومشغلي الشرطية.
خوارزمية للتحقق من وجود رقم في سلسلة:
- نكرر على كل حرف من السلسلة.
- نتحقق من كل حرف للانتماء إلى رقم.
- إذا تم العثور على رقم ، فإننا نعرض رسالة حول وجوده ووقف المزيد من التحقق.
- إذا لم يتم العثور على رقم بعد المرور عبر جميع الأحرف ، فإننا نعرض رسالة حول غيابه.
مثال على كود بايثون:
"'بايثون
تحقق من الأرقام (سلسلة):
لشار في سلسلة:
إذا شار.إسديجيت():
طباعة ("هناك رقم في السلسلة")
العودة
طباعة ("لا توجد أرقام في السلسلة")
النص = الإدخال ("أدخل سلسلة:")
تحقق من الأرقام (نص)
"`
. إذا لم يتم العثور على رقم بعد البحث في جميع الأحرف ، يتم عرض رسالة حول غيابه.
مثال الاستخدام:
| المدخلات | الناتج |
|---|---|
| أب 123 سي دي | هناك عدد |
| اي بي سي في الخط | لا توجد أرقام في السلسلة |
التكرار من خلال أحرف سلسلة باستخدام وظيفة أورد المضمنة
بيثون لديه المدمج في وظيفة أورد () التي تسمح لك للحصول على قيمة رقمية من رمز حرف من جدول يونيكود. باستخدام هذه الوظيفة ، يمكنك التكرار عبر جميع أحرف السلسلة والتحقق مما إذا كانت تحتوي على رقم.
أولا ، تحتاج إلى إنشاء متغير وتعيين السلسلة التي نريد التحقق منها:
س = "مثال لسلسلة بالرقم 123"ثم ، استخدم ل حلقة لتكرار من خلال جميع الأحرف من السلسلة:
ل ج في ق:
رمز = أورد (ج)
إذا رمز > = 48 ورمز < = 57:
طباعة ("السلسلة تحتوي على رقم")
استراحة
في هذا المثال ، نتحقق مما إذا كان رمز الحرف رقما. رموز الأرقام من 0 إلى 9 في جدول يونيكود هي في النطاق من 48 إلى 57. إذا وجدنا حرفا برمز يقع ضمن هذا النطاق ، فإننا نخرج الرسالة "تحتوي السلسلة على رقم" ونخرج من الحلقة باستخدام عامل الفاصل.
إذا ، بعد نهاية الحلقة ، المتغير ج لا يحتوي على رقم ، فسيتم تنفيذ الكود التالي للحلقة:
آخر:
طباعة ("السلسلة لا تحتوي على أرقام")
يمكننا توسيع هذا المثال وتطبيقه على المهام الأكثر تعقيدا المتعلقة بمعالجة أحرف السلسلة.
باستخدام طريقة إيسنوميريك لتحديد وجود رقم في سلسلة بيثون
في لغة برمجة بايثون ، هناك عدة طرق للتحقق من وجود رقم في سلسلة. إحدى هذه الطرق هي استخدام طريقة إسنوميريك (). تتيح لك هذه الطريقة التحقق مما إذا كانت السلسلة تتكون من أرقام فقط.
ترجع طريقة إيسنوميريك () صحيح إذا كانت جميع الأحرف في السلسلة هي أرقام. خلاف ذلك ، فإن الطريقة ترجع كاذبة.
هنا مثال على استخدام طريقة إيسنوميريك ():
- قم بتعريف متغير سلسلة وقم بتعيين سلسلة تحتوي على أرقام فقط:
- دعونا ندعو طريقة إيسنوميريك () لمتغير السلسلة:
- إخراج النتيجة:
في هذه الحالة ، يتم إرجاع طريقة إيسنوميريك () صحيح ، لأن جميع أحرف السلسلة "12345" هي أرقام.
ومع ذلك ، إذا كانت السلسلة تحتوي على أحرف أخرى غير الأرقام ، فإن طريقة إيسنوميريك() ترجع كاذبة. على سبيل المثال:
- قم بتعريف متغير سلسلة وقم بتعيين سلسلة تحتوي على كل من الأرقام والحروف:
- دعونا ندعو طريقة إيسنوميريك () لمتغير السلسلة:
- إخراج النتيجة:
في هذه الحالة ، ترجع طريقة إيسنوميريك () كاذبة ، لأن السلسلة "أ 1234" تحتوي على أحرف أخرى غير الأرقام.
يمكن أيضا استخدام الطريقة الإسنوميرية () للتحقق من وجود رقم في سلسلة باستخدام عبارة إف الشرطية. على سبيل المثال:
| مثال | النتيجة |
|---|---|
| |
|
طباعة ("السلسلة تحتوي على أرقام فقط")
آخر:
طباعة ("تحتوي السلسلة على أحرف غير الأرقام")
الإخراج: تحتوي السلسلة على أحرف غير الأرقام
وهكذا ، باستخدام طريقة إيسنوميريك () يسمح لك بسهولة وبسرعة تحديد وجود رقم في سلسلة بيثون.
حالات خاصة وأمثلة عملية
1. التحقق من وجود رقم في سلسلة باستخدام حلقة
طريقة واحدة للتحقق من وجود رقم في سلسلة هو استخدام حلقة لتكرار من خلال كل حرف في السلسلة ومعرفة ما اذا كان الحرف هو رقم باستخدام إسديجيت().
ديف لديه_رقم_حلقة (سلسلة) طريقة:
لشار في سلسلة:
إذا شار.إسديجيت():
العودة الحقيقية
العودة كاذبة
2. التحقق من وجود رقم في سلسلة باستخدام التعبيرات العادية
طريقة أخرى فعالة للتحقق من وجود رقم في سلسلة هي استخدام التعبيرات العادية. توفر وحدة بيثون إعادة البحث () وظيفة التي يمكن استخدامها للعثور على تطابق إلى التعبير العادي في سلسلة.
استيراد إعادة
ديف ديجيت_ ريجيكس (سلسلة):
العودة منطقي (إعادة.البحث (ص '\ د ' ، سلسلة))
3. أمثلة عملية
لنفترض أن لدينا سلسلة تحتوي على أحرف وأرقام. نريد التحقق مما إذا كان هناك رقم واحد على الأقل في هذا السطر.
سلسلة = "مرحبا 123العالم"
# التحقق من وجود رقم باستخدام حلقة
إذا كان لديه_رقم_حلقة (سلسلة):
طباعة ("هناك رقم في السلسلة")
آخر:
طباعة ("لا يوجد رقم في السلسلة")
# التحقق من وجود رقم باستخدام التعبيرات العادية
إذا كان لديه_رقم_مجلس (سلسلة):
طباعة ("هناك رقم في السلسلة")
آخر:
طباعة ("لا يوجد رقم في السلسلة")
خاتمة:
هناك رقم في السطر
هناك رقم في السطر
في كلتا الحالتين ، باستخدام كل من حلقة والتعبيرات العادية ، تأكدنا من وجود رقم واحد على الأقل في السلسلة "مرحبا 123 العالم".
سؤال وجواب
كيف يمكنني التحقق مما إذا كان هناك رقم واحد على الأقل في سلسلة?
للتحقق من وجود رقم واحد على الأقل في سلسلة ، يمكنك استخدام طريقة إيسنوميريك ().