اذهب إلى المحتوى

السؤال

نشر

كتابة دالة لاستخراج كل أرقام وطنية من النص  ملاحظة / ارقام وطنية تبدا  ب 056 ومكونة من 10 أرقام 

بداية الحل هيك يعني باستخدام الدالة

import re
text = input()

 كيف أجيب الكود ع برنامج الباي تشارم بلغة البايثون  بحيث لما أضغط ع Run  أدخل النص التالي Hello my Jawwal number is 0560000001

ليصبح الناتج  ["0560000001"]
المطلوب الكود نفسو ( فاهمة السؤال بس كل ما بكتب كود بطلع فيه خطأ)

Recommended Posts

  • 0
نشر

بما أن الرقم الوطني له خصائصص يمكننا بناء التعبير المنتظم وفقها مثلا:

مثال للبحث عن نص ثابت و محدد:

expr = '056'

ثم وضعها هكذا:

import re 

text = 'Hello my Jawwal number is 056'

expr = '056'

match = re.findall(expr, text)

print(match)  # => ['056']

الآن حاولي تعديل الشيفرة، حيث سنعمل على جعل القسم الآخر من الرقم الوطني عبارة عن أرقام بعدد محدد:

[0-9]* # عدد لانهائي من الأرقام وممكن 0

[0-9]+ # عدد لانهائي من الأرقام  ولكن على الأقل رقم واحد


[0-9]X # X عدد لانهائي من الأرقام وعددهم 

[0-9]2 
[0-9]7
[0-9]X...

حاولي دمج القسم الثابت و يتبعه القسم المتغير والمحاولة.

علما أن:

[0-9] # ستعطي رقم واحد ضمن المجال

 

  • 0
نشر
بتاريخ On 28‏/5‏/2021 at 03:04 قال Ali Haidar Ahmad:

# فقط انسخ والصق هذا الكود
import re
def get_ID(string):
    
    s=re.split(' ',string)
    ID=[]
    for i in s:
        if(i.isnumeric()):
            if('056' == i[0:3] and len(i)==10):
                ID.append(i)

    return ID

text =input()
get_ID(text)

 

كيف حله بطريقة الinput ؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...