• 0

حذف الأرقام المكررة في بايثون

السلام عليكم.لدي مشكلة في كود برمجي بلغة البايثون..لسؤال يقول :حذف الأرقام المكررة في الarray جربت عدة حلول والحل المرفق أحدهم لكن لم أتوفق بالحل..ممكن تصحيح الخطأ!!

debug.py

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

وعليكم السلام , مرحبًا @أسماء عبدالله محمود النظاري,

يمكنك عمل ذلك بإستخدام الدالة ()set  و هي تقوم بتحويل القائمة الى نوع set , و set لا يسمح بتكرار الأرقام .

numbers = [1, 2, 2, 2, 4, 5, 7, 2, 2, 8, 9]

print( set(numbers) )

بعد ذلك نقوم بإعادة تحويل القائمة set الى list القائمة التقليدية بإستخدام الدالة ()list

print( list(set(numbers)) )

يمكنك معرفة المزيد من الأكادمية .

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

جزاك الله خير,

لوسمحت كيف أستطيع حل هذا السؤال!

إذا كان الرقم مكون من 7 أو 8 أو 9 أرقام تقوم بوضع Dot بعد ثالث رقم من اليمين و Comma بعد سادس رقم من اليمين

إذا كان الرقم مكون من 4 أو 5 أو 6 أرقام تقوم بوضع Dot بعد ثالث رقم من اليمين

إذا كان الرقم مكون من 3 أرقام لا تقوم بوضع أي شيء

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ 11 دقائق مضت قال أسماء عبدالله محمود النظاري:

جزاك الله خير,

لوسمحت كيف أستطيع حل هذا السؤال!

إذا كان الرقم مكون من 7 أو 8 أو 9 أرقام تقوم بوضع Dot بعد ثالث رقم من اليمين و Comma بعد سادس رقم من اليمين

إذا كان الرقم مكون من 4 أو 5 أو 6 أرقام تقوم بوضع Dot بعد ثالث رقم من اليمين

إذا كان الرقم مكون من 3 أرقام لا تقوم بوضع أي شيء

وجزاك الله خيرا ,
هذا هو الحل للمطلوب :
 

numbers = [1, 2, 2, 2, 4, 5, 7, 2, 2]
result = ""
i = 0 # نحدد به عدد التكرار من اجل الجملة الشرطية

if len(numbers) in [7,8,9]: # التحقق من ان عدد أرقام القائمة هو 7/8/9
    for num in numbers: # عملية التكرار
        result += str(num) + " " # إضافة الرقم الى النص
        i += 1
        if i == 3: # إضافة نقطة أو فاصلة على حسب الشرط المطلوب
            result += "."
        elif i == 6:
            result += ","
            
elif len(numbers) in [4,5,6]:# التحقق من ان عدد أرقام القائمة هو 4/5/6
    for num in numbers:
        result += str(num) + " "
        i += 1
        if i == 3:
            result += "."
    
elif len(numbers) == 3:
    print("nothing")

 
print(result) #طباعة الجواب

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك إستخدام الطريقة التالية لحذف الأرقام المكررة في ال array


numbers = [1, 2, 2, 2, 4, 5, 7, 2, 2, 8, 9]
# نقوم بتعريف القائمة التي تحتوي على الأرقام بعد حذف التكرارات
# يجب مراعاة أن تكون أسماء المتغيرات دالة على محتواها
uniqueArray = []

#    من المرات  و هو عدد عناصر ال قائمة الأساسية n  لتمر على عناصر القانمة الجديدة عدد  loop نستخدم  
# و نقوم بمقارنة كل عنصر في القائمة الجديدة بعناصر القائمة الأساسية فإذا لم يكن العنصر موجود بالقائمة الجديدة نضيفه إليها و إن كان موجود من قبل نكمل في الحلقة

for n in range(len(numbers)):
  if (numbers[n] not in uniqueArray):
    uniqueArray.append(numbers[n])


print(uniqueArray)

# الناتج [1, 2, 4, 5, 7, 8, 9]

 

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن