عند العمل مع البيانات بلغة برمجة بايثون ، غالبا ما يكون من الضروري معالجة المعلومات الرقمية الموجودة في السلاسل. تتمثل إحدى هذه المهام في العثور على مجموع الأرقام في سلسلة. في هذه المقالة ، سنلقي نظرة على بعض الطرق البسيطة لحل هذه المشكلة ، بالإضافة إلى الميزات التي ستساعدك على القيام بذلك بشكل أسرع وأكثر ملاءمة.
الطريقة الأولى هي استخدام حلقة للتكرار من خلال كل حرف في السلسلة. للقيام بذلك ، سنقوم بتحويل السلسلة إلى قائمة من الأحرف باستخدام وظيفة القائمة (). ثم نتحقق من كل عنصر من عناصر القائمة باستخدام وظيفة إسديجيت () للتأكد من أنه رقم. إذا كان العنصر هو رقم ، نضيفه إلى المجموع. في نهاية الحلقة ، نعيد قيمة مجموع الأرقام.
هناك طريقة أخرى للعثور على مجموع الأرقام في سلسلة وهي استخدام مولدات القائمة ووظيفة المجموع (). تسمح لنا مولدات القائمة بإنشاء قوائم باستخدام بناء جملة مضغوط. في هذه الحالة ، نقوم بإنشاء قائمة بجميع الأرقام الموجودة في السلسلة باستخدام حلقة وتعبير شرطي. ثم نستخدم وظيفة المجموع () للعثور على مجموع جميع العناصر في القائمة.
من المهم ملاحظة أن هذه الطرق تعمل فقط مع أرقام مفردة. إذا كان هناك أرقام مكونة من رقمين أو أكثر في السلسلة ، فستحتاج إلى استخدام خوارزميات أكثر تعقيدا لمعالجتها.
- باستخدام ل حلقة لتحويل سلسلة إلى قائمة من الأرقام وتلخيصها
- باستخدام طريقة إسديجيت () للتحقق من كل حرف للحصول على رقم ومجموع الأحرف الرقمية
- باستخدام طريقة الانضمام () ومولد القائمة لاستخراج الأرقام من سلسلة وتلخيصها
- استخدام العودية للعثور على أرقام في سلسلة وتلخيصها
- باستخدام وظيفة المجموع () ومولد القائمة للعثور على مجموع جميع الأرقام في سلسلة
- استخدام التعبيرات العادية للعثور على جميع الأرقام في سلسلة وتلخيصها
- سؤال وجواب
- كيف يمكنني العثور على مجموع كل الأرقام في سلسلة في بيثون?
- كيف يمكنني استخدام مجموع () وظيفة للعثور على مجموع الأرقام في سلسلة في بيثون?
- هل من الممكن استخدام التعبيرات العادية للعثور على مجموع الأرقام في سلسلة في بايثون?
- كيفية التعامل مع السلاسل التي تحتوي على أرقام سالبة عند العثور على مجموع الأرقام في بايثون?
باستخدام ل حلقة لتحويل سلسلة إلى قائمة من الأرقام وتلخيصها
للعثور على مجموع الأرقام في سلسلة ، يمكنك استخدام ل حلقة جنبا إلى جنب مع وظائف للعمل مع السلاسل والأرقام في بيثون.
قبل البدء ، تحتاج إلى تحويل سلسلة الإدخال إلى قائمة من الأرقام. للقيام بذلك ، يمكنك استخدام ل حلقة ، والتي سوف تعمل من خلال كل حرف من السلسلة وتحويله إلى رقم.
يوجد أدناه مثال على رمز يوضح هذه العملية:
صفر مجموع الأرقام (سلسلة):
أرقام = []
لشار في سلسلة:
إذا شار.إسديجيت():
أرقام.إلحاق (كثافة العمليات (شار))
مبلغ الإرجاع (أرقام)
السلسلة = "مثال 123"
طباعة (مجموع الأرقام (سلسلة)) # الإخراج: 6
في هذا المثال ، تأخذ دالة مجموع الأرقام سلسلة سلسلة الإدخال وتنشئ قائمة فارغة من الأرقام. ثم للحلقة يذهب من خلال كل حرف من السلسلة ويتحقق ما إذا كان الحرف هو رقم باستخدام طريقة إسديجيت (). إذا كان الحرف هو رقم ، يتم تحويله إلى عدد صحيح باستخدام الدالة إنت () وإضافتها إلى قائمة الأرقام.
في نهاية الدالة ، يتم إرجاع مجموع جميع عناصر قائمة الأرقام باستخدام دالة المجموع ().
في المثال المعطى ، سيتم تحويل سلسلة الإدخال "مثال 123" إلى قائمة بالأرقام [1 ، 2 ، 3] ، وسيكون مجموع الأرقام 6.
الآن أنت تعرف كيفية استخدام ل حلقة لتحويل سلسلة إلى قائمة من الأرقام والعثور على مجموعها. هذا هو وسيلة بسيطة وفعالة للعمل مع الأرقام في سلسلة في بيثون.
باستخدام طريقة إسديجيت () للتحقق من كل حرف للحصول على رقم ومجموع الأحرف الرقمية
واحدة من أسهل الطرق للعثور على مجموع الأرقام في سلسلة في بيثون هو استخدام طريقة إسديجيت (). ترجع هذه الطريقة صحيحة إذا كانت جميع الأحرف في السلسلة عبارة عن أرقام ، وإلا فهي خاطئة. يمكننا استخدام هذه الطريقة للتحقق من كل حرف في سلسلة للحصول على رقم وجمع الأحرف الرقمية.
يوضح التعليمة البرمجية التالية استخدام الأسلوب إسديجيت () لمجموع الأحرف الرقمية في سلسلة:
"'بايثون
صفر مجموع أرقام_في_سلسلة (سلسلة):
مجموع = 0
لشار في سلسلة:
إذا شار.إسديجيت():
مجموع + = كثافة العمليات (شار)
مبلغ الإرجاع
سلسلة = "أبك 123 ديف456"
طباعة (مجموع أرقام_في_سلسلة (سلسلة))
«`
ستكون نتيجة تنفيذ الكود:
"`
21
"`
في هذا المثال ، نعلن دالة مجموع الأرقام في السلسلة () ، والتي تأخذ سلسلة كوسيطة. ثم نقوم بتهيئة متغير المجموع بقيمة صفرية لتخزين مجموع الأحرف الرقمية.
ثم نكرر من خلال كل حرف في السلسلة باستخدام الحلقة. داخل الحلقة ، نتحقق مما إذا كان الحرف الحالي هو رقم باستخدام طريقة إسديجيت (). إذا كان الحرف هو رقم ، ونحن تحويله إلى عدد صحيح باستخدام الدالة إنت () وإضافته إلى مجموع الأحرف الرقمية.
بعد اجتياز جميع الأحرف في السلسلة ، نعيد مجموع الأحرف الرقمية.
في المثال أعلاه ، تحتوي السلسلة" أبك 123 ديف456 " على الأرقام 1 و 2 و 3 و 4 و 5. مجموع هذه الأرقام هو 21 ، وهو نتيجة الدالة.
وبالتالي ، فإن استخدام طريقة إسديجيت () يجعل من السهل التحقق من كل حرف للحصول على رقم وجمع الأحرف الرقمية في سلسلة بيثون.
باستخدام طريقة الانضمام () ومولد القائمة لاستخراج الأرقام من سلسلة وتلخيصها
إذا كان لديك سلسلة تحتوي على أرقام وتريد العثور على مجموع هذه الأرقام ، يمكنك استخدام طريقة الانضمام() ومولد قائمة بايثون.
مثال على الكود:
سلسلة = "أبك 123 ديف456غي"
الأرقام = [إنت (س) ل س في سلسلة إذا س. إسديجيت ()]
مجموع الأرقام = مجموع (أرقام)
طباعة (مجموع الأرقام)
ما يجري في هذا الرمز?
- نقوم بإنشاء متغير سلسلة يحتوي على سلسلة تحتوي على أرقام.
- باستخدام مولد القائمة وطريقة إيسديجيت () ، نقوم بإنشاء قائمة أرقام جديدة تحتوي فقط على الأرقام من السلسلة الأصلية.
- ثم نلخص جميع الأرقام في القائمة باستخدام دالة المجموع ().
- أخيرا ، نعرض مجموع الأرقام الناتج على الشاشة.
نتيجة لتنفيذ هذا الرمز ، سيتم إخراج رقم يساوي مجموع جميع الأرقام في السلسلة الأصلية. في هذا المثال ، سيكون هذا الرقم 21 ، لأن مجموع الأرقام 1+2+3+4+5+6 وهو يساوي 21.
يتيح لك استخدام طريقة الانضمام () في هذا الرمز دمج جميع الأرقام من قائمة الأرقام في سطر واحد ، إذا لزم الأمر.
وبالتالي ، باستخدام طريقة الانضمام () ومولد القائمة ، يمكننا بسهولة استخراج الأرقام من السلسلة والعثور على مجموعها.
استخدام العودية للعثور على أرقام في سلسلة وتلخيصها
في بيثون ، يمكنك استخدام العودية للبحث عن الأرقام في سلسلة وتلخيصها. العودية هي العملية التي تستدعي بها الوظيفة نفسها.
بادئ ذي بدء ، نحن بحاجة إلى وظيفة من شأنها أن تأخذ سلسلة وإرجاع مجموع كل الأرقام في تلك السلسلة. سنستخدم أيضا وظيفة مساعد إضافية تتحقق مما إذا كان الحرف عبارة عن رقم.
أدناه هو رمز الوظيفة:
- ديف هو ديجيت (حرف):
# دالة تتحقق مما إذا كان الحرف رقما
عودة الحرف.إسديجيت()
- صفر مجموع أرقام_سلسلة:
# دالة تكرارية تجد مجموع كل الأرقام في سلسلة
المجموع = 0
للحرف في السلسلة:
إذا كان_رقم (حرف):
المجموع + = كثافة العمليات (حرف)
إليف إيسينستانس (حرف ، شارع):
مجموع _ مجموع + = مجموع _ أرقام_النسبية (حرف)
عودة المجموع
دعونا ننظر في كيفية عمل هذه الوظائف باستخدام مثال السلسلة "أبك 123".
وبادئ ذي بدء ، سيتم استدعاء وظيفة مجموع الأرقام مع الوسيطة "أبك 123". داخل الدالة ، يحدث التكرار لكل حرف في السلسلة. في التكرار الأول ، الحرف " أ " ليس رقما ، لذلك سيتم تجاهله. في التكرار الثاني ، الحرف " ب " ليس أيضا رقما ، لذلك سيتم تجاهله أيضا. في التكرار الثالث ، سيتم أيضا تجاهل الحرف "ج".
بعد ذلك ، في التكرار الرابع ، سيتم التعرف على الحرف "1" كرقم وستضاف قيمته إلى المجموع الكلي المتغير. بعد ذلك ، سيتم استدعاء دالة مجموع الأرقام مع الوسيطة "23".
وبالتالي ، ستستمر العودية حتى يتم العثور على جميع الأرقام في السلسلة وإضافتها. في النهاية ، سيتم إرجاع المبلغ الإجمالي.
يعد استخدام العودية للعثور على الأرقام في سلسلة وتلخيصها في بايثون طريقة فعالة ومرنة للعمل مع مثل هذه المهام. ومع ذلك ، لا ننسى إمكانية تجاوز الحد الأقصى لعمق العودية عند العمل مع سلاسل كبيرة.
باستخدام وظيفة المجموع () ومولد القائمة للعثور على مجموع جميع الأرقام في سلسلة
في بايثون ، هناك عدة طرق للعثور على مجموع جميع الأرقام في سلسلة. إحدى هذه الطرق هي استخدام وظيفة المجموع () ومولد القائمة.
مولد القائمة هو بناء بيثون خاص يسمح لك بإنشاء قوائم باستخدام سطر واحد من التعليمات البرمجية. يتكون مولد القائمة من تعبير يحدد قيم عناصر القائمة وحلقة تحدد عدد العناصر في القائمة.
لاستخدام وظيفة المجموع () ومولد القائمة للعثور على مجموع جميع الأرقام في سلسلة ، اتبع الخطوات التالية:
- تحويل سلسلة إلى قائمة من الأرقام. للقيام بذلك ، يمكنك استخدام مولد قائمة يمثل فيه كل عنصر رقما من سلسلة.
- استخدم دالة المجموع () للعثور على مجموع جميع العناصر في قائمة الأرقام.
مثال على الكود:
# خط المصدر
سلسلة = "12345"
# تحويل سلسلة إلى قائمة من الأرقام
أرقام = [كثافة العمليات (س) لس في سلسلة]
# إيجاد مجموع كل الأرقام
مجموع الأرقام = مجموع (أرقام)
# إخراج النتيجة
طباعة ("مجموع كل الأرقام:" ، مجموع الأرقام)
ستكون نتيجة تنفيذ الكود:
مجموع كل الأرقام: 15
وهكذا ، استخدمنا وظيفة المجموع () ومولد القائمة للعثور على مجموع جميع الأرقام في سلسلة معينة.
استخدام التعبيرات العادية للعثور على جميع الأرقام في سلسلة وتلخيصها
التعبيرات العادية هي أداة قوية للعمل مع النص. في بيثون ، يتم تنفيذ التعبيرات العادية في وحدة إعادة. يمكن استخدامها للبحث واستخراج المعلومات من النص ، بما في ذلك البحث عن جميع الأرقام في سلسلة وتلخيصها.
أولا ، دعونا ربط إعادة:
وحدة إعادة الاستيراد
ثم سنقوم بإنشاء وظيفة من شأنها أن تجد وتلخص جميع الأرقام في صف واحد:
ديف العثور على الرقم الرقمي (سلسلة):
أرقام = إعادة.البحث عن (ص'\د' ، سلسلة) # البحث عن جميع الأرقام في السلسلة
الرقم = المجموع (رقم (رقم) للرقم بالأرقام) # تلخيص الأرقام التي تم العثور عليها
رقم الإرجاع
دعونا نلقي نظرة فاحصة على كيفية عمل هذه الميزة:
- نحن نستخدم وظيفة إعادة.فيندال () للبحث عن جميع الأرقام في سلسلة. كحجة ، نقوم بتمرير التعبير العادي ص '\ د '، وهو ما يعني"العثور على أي رقم". تقوم الدالة بإرجاع قائمة بالأرقام التي تم العثور عليها.
- ثم نستخدم مولد القائمة و إنت() وظيفة لتحويل كل رقم وجدت من سلسلة إلى عدد صحيح.
- بعد ذلك ، نجمع الأعداد الصحيحة الناتجة باستخدام دالة المجموع ().
- وأخيرا ، نعود مجموع الأرقام التي تم العثور عليها.
نستخدم دالة العثور على الرقم () للعثور على مجموع الأرقام في سلسلة:
سلسلة = "أبك 123 ديف456"
الرقم = الرقم = الرقم (السلسلة)
طباعة (رقمي) # الإخراج: 21
في هذا المثال ، تحتوي السلسلة "أبك 123 ديف456" على الأرقام 1 و 2 و 3 و 4 و 5. مجموع هذه الأرقام هو 15.
وبالتالي ، يتيح لك استخدام التعبيرات العادية العثور على جميع الأرقام في سلسلة ومجموعها باستخدام رمز صغير وفعال.
سؤال وجواب
كيف يمكنني العثور على مجموع كل الأرقام في سلسلة في بيثون?
من أجل العثور على مجموع جميع الأرقام في سلسلة في بيثون ، يمكنك استخدام أساليب مختلفة. واحدة من أسهل الطرق هي استخدام حلقة و إسديجيت() وظيفة. نذهب من خلال كل حرف في السلسلة ، تحقق مما إذا كان هو رقم باستخدام وظيفة إسديجيت () ، وإذا كان الأمر كذلك ، إضافته إلى المبلغ الإجمالي. ونتيجة لذلك ، نحصل على مجموع كل الأرقام في السلسلة.
كيف يمكنني استخدام مجموع () وظيفة للعثور على مجموع الأرقام في سلسلة في بيثون?
لاستخدام وظيفة المجموع () للعثور على مجموع الأرقام في سلسلة بيثون ، يجب عليك أولا تحويل السلسلة إلى قائمة من الأرقام. ويمكن القيام بذلك باستخدام المدمج في خريطة () وظيفة ، ويمر عليه وظيفة كثافة العمليات ، والذي يحول كل حرف إلى قيمة رقمية. بعد ذلك ، في قائمة الأرقام الناتجة ، يمكنك تطبيق وظيفة المجموع () ، والتي ستعيد المبلغ الإجمالي.
هل من الممكن استخدام التعبيرات العادية للعثور على مجموع الأرقام في سلسلة في بايثون?
نعم ، يمكنك استخدام التعبيرات العادية للعثور على مجموع الأرقام في سلسلة في بايثون. للقيام بذلك ، يمكنك استخدام وحدة إعادة و فيندال() و فيندتر() الأساليب ، والتي تسمح لك للعثور على جميع تكرارات الأرقام في سلسلة. ثم يمكن تحويل الأرقام الناتجة إلى قائمة ويمكن استخدام دالة المجموع() للعثور على المجموع.
كيفية التعامل مع السلاسل التي تحتوي على أرقام سالبة عند العثور على مجموع الأرقام في بايثون?
عند معالجة السلاسل التي تحتوي على أرقام سالبة ، عند العثور على مجموع الأرقام في بايثون ، من الضروري مراعاة علامة الرقم. إذا كان الرقم سالبا ، فسيتم الإشارة إلى علامته بالرمز " - " قبل الأرقام. من أجل معالجة هذه السلاسل بشكل صحيح ، يمكنك استخدام وظيفة إسديجيت() للتحقق من كل حرف وعلامة ، واعتمادا على النتيجة ، إضافة أو عدم إضافة رقم إلى المجموع.