0 عبدالباسط ابراهيم نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 (معدل) يمكنك استخدام ال regular expression التالي '(\$[0-9]+(.[0-9]+)?)' وسيقوم باستخراج الأعداد التي تتبعها علامة ال $ ليصبح الكود import re text = input() result = [x[0] for x in re.findall('(\$[0-9]+(\.[0-9]+)?)', text)] تم التعديل في 5 يونيو 2021 بواسطة عبدالباسط ابراهيم خطأ إملائي 1 اقتباس
0 Nuhla Almasri نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 يمكنك أستخدام Regular Expressions (Regex) أو التعبيرات العادية مثال عليه import re pattern = r"Cookie" sequence = "Cookie" if re.match(pattern, sequence): print("Match!") else: print("Not a match!") أن بعض المتغيرات للتعبيرات العادية قد تكون بعض الشيئ غير واضحة و لكن سأرفق هنا صورة لبعض الأشارات و دلالاتها 1 اقتباس
0 Alaa Jamal نشر 5 يونيو 2021 الكاتب أرسل تقرير نشر 5 يونيو 2021 import re text = input("enter y0ur text") exp=re.findall("\$.+", text) print(exp) شو الخلل هنا؟ اقتباس
0 Ali Haidar Ahmad نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 import re # regex استيراد المكتبة txt = input() # إدخال النص # $إيجاد كل مايبدأ بالرمز # وبعده رقم واحد على الأقل result = re.findall("\$\d+", txt) # عرض النتائج if result: for word in result: print(word) else: print("No dollars!") 2 اقتباس
0 ريم المهدي نشر 13 يونيو 2021 أرسل تقرير نشر 13 يونيو 2021 الخطأ في برنامج يا @Alaa Jamal هو انه يقوم بإستخراج أي قيمة بعد علامة الدولار، و الصحيح أن يقوم بإستخراج القيم الرقمية فقط بعد العلامة. الأن بعد أن عرفنا الخطأ يمكننا بتعديل برنامج Ali بشكل بسيط ليخرج كافة الإحتمالات الممكنة من أعداد صحيحة و أرقام كسرية أيضاً: re.findall(r"\$[+-]? *(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?", "I bought milk for $1.50 only") حيث أن المدخل هو مثالنا المحتوي على قيمة كسرية و بإستخدام دالة findall و وضع كل الشروط لوجود أرقام صحيحة مثل $59 او ارقام كسرية مثل $0.587 أو $4.4 يمكننا الحصول على الإجابة الصحيحة. 1 اقتباس
السؤال
Alaa Jamal
ممكن حل السؤال يبدأ بهذه الطريقة
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.