تم حلها: فرق الأرقام المتتالية بين بيثون

المشكلة الرئيسية المتعلقة باختلاف الأرقام المتتالية في Python هي أن الفرق بين رقمين متتاليين ليس هو نفسه دائمًا. على سبيل المثال ، إذا كانت لديك قائمة من الأرقام [1 ، 2 ، 3] ، فإن الفرق بين 1 و 2 هو 1 ، ولكن الفرق بين 2 و 3 هو 0.5 فقط. يمكن أن يتسبب ذلك في حدوث ارتباك عند محاولة حساب الاختلافات في القيم أو عند استخدام الخوارزميات التي تعتمد على حجم خطوة ثابت.

def consecutive_difference(nums): 
    diff = [] 
    for i in range(len(nums)-1): 
        diff.append(abs(nums[i] - nums[i+1])) 
    return diff 
  
# Driver code 
nums = [2, 4, 6, 8] 
print(consecutive_difference(nums))

# السطر 1: يعرّف هذا السطر دالة تسمى اختلاف_تتالي تأخذ في وسيطة واحدة ، الأعداد.
# السطر 2: هذا السطر ينشئ قائمة فارغة تسمى فرق.
# السطر 3: هذا السطر عبارة عن حلقة for تتكرر عبر طول الأعداد ناقص واحد.
# السطر 4: يضيف هذا السطر القيمة المطلقة للاختلاف بين كل عنصر في الأعداد إلى قائمة الاختلافات.
# السطر 5: يعرض هذا السطر قائمة الفروق بعد أن يتم ملؤها بكل الاختلافات بين العناصر المتتالية بالأرقام.
# السطر 8: هذا السطر يحدد متغيرًا يسمى nums يساوي قائمة تحتوي على 2 و 4 و 6 و 8.
# السطر 9: هذا السطر يطبع نتيجة استدعاء الفروق المتتالية على الأعداد.

ابحث عن أرقام متتالية في قائمة بايثون

من السهل نسبيًا العثور على أرقام متتالية في قائمة بايثون. الطريقة الأكثر مباشرة هي تكرار القائمة ومقارنة كل عنصر بالعنصر الذي سبقه. إذا كان الفرق بين عنصرين هو 1 ، فهذا يعني أنهما رقمان متتاليان.

فيما يلي مثال على كيفية القيام بذلك:

الأرقام = [1,2,3,4,5,6،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX] # قائمة الأرقام
consecutive_numbers = [] # قائمة لتخزين الأرقام المتتالية
بالنسبة لـ i في النطاق (len (أرقام) -1): # تكرار القائمة
إذا (الأرقام [i + 1] - الأرقام [i]) == 1: # تحقق مما إذا كان الفرق بين عنصرين هو 1
consecutive_numbers.append (الأرقام [i]) # إلحاق عنصر بقائمة الأرقام المتتالية
consecutive_numbers.append (الأرقام [i + 1]) # إلحاق العنصر التالي بقائمة الأرقام المتتالية
print (consecutive_numbers) # طباعة قائمة الأرقام المتتالية

احصل على الفرق بين الأرقام المتتالية في القائمة

في Python ، يمكنك معرفة الفرق بين الأرقام المتتالية في القائمة باستخدام وظيفة zip (). تأخذ الدالة zip () اثنين أو أكثر من المتكررين وتعيد مكررًا من المجموعات. يتم إقران العنصر الأول في كل عنصر قابل للتكرار تم تمريره معًا ، ثم يتم إقران العنصر الثاني في كل عنصر قابل للتكرار يتم تمريره معًا ، وهكذا. لمعرفة الفرق بين الأرقام المتتالية في القائمة ، يمكنك استخدام zip () لإقران كل رقم بسابقه ثم طرحهم للحصول على الفرق. علي سبيل المثال:

list_numbers = [1، 2، 3، 4]
الاختلافات = [y - x for x، y in zip (list_numbers [: - 1]، list_numbers [1:])]
طباعة (اختلافات) # الإخراج: [1 ، 1 ، 1]

الوظائف ذات الصلة:

اترك تعليق