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

كيفية إيجاد زوج من الأرقام في قائمة يساوي مجموعهما قيمة معينة في بايثون

Ail Ahmed

السؤال

السلام عليكم

ده المسائل 

Collection of numbers and I need you to take this collection of numbers and find a maatching pair that is equal to a sum that i give you as well

وده الحل بتاعي 

arr = [1,2,4,4]
sm = 8

for i in range(len(arr) - 1):
    if arr[i] == arr[i+1]:
        if arr[i] + arr[i + 1] == sm:
            print(f"{arr[i]} + {arr[i + 1]} = {sm}")
            
    else:
        print("Not Found pair")

المشكله هنا انا الIf و Else الاثينين بيشتغلو يعني هنا بيحصل خطاء منطقي الصراحه بس مش عارف احل الخطاء ده ازي ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

وعليكم السلام،

المشكلة التي تواجهك هي أنك لا تتحكم في كيفية تداخل الشروط بشكل صحيح، وبالتالي تظهر الرسالة "Not Found pair" حتى عندما تجد الزوج المطلوب. يجب عليك تصحيح منطقك في الحل بحيث تظهر رسالة "Not Found pair" فقط بعد البحث عن كل الأزواج وعدم العثور على أي منهم.

إليك الشيفرة معدلة:

arr = [1, 2, 4, 4]
sm = 8
found = False  # متغير لتحديد إذا ما كان وجدنا زوجًا مناسبًا أم لا

# التحقق من كل زوج من الأرقام
for i in range(len(arr)):
    for j in range(i + 1, len(arr)):
        if arr[i] + arr[j] == sm:
            print(f"{arr[i]} + {arr[j]} = {sm}")
            found = True  # إذا وجدنا زوجًا، نغير قيمة found

# إذا لم يتم العثور على أي زوج
if not found:
    print("Not Found pair")

سيفي هذا بالغرض ويضمن لنا أن الرسالة لن تظهر إلا بعد عدم العثور رعلى زوج.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 6 ساعة قال Adnane Kadri:

وعليكم السلام،

المشكلة التي تواجهك هي أنك لا تتحكم في كيفية تداخل الشروط بشكل صحيح، وبالتالي تظهر الرسالة "Not Found pair" حتى عندما تجد الزوج المطلوب. يجب عليك تصحيح منطقك في الحل بحيث تظهر رسالة "Not Found pair" فقط بعد البحث عن كل الأزواج وعدم العثور على أي منهم.

إليك الشيفرة معدلة:

arr = [1, 2, 4, 4]
sm = 8
found = False  # متغير لتحديد إذا ما كان وجدنا زوجًا مناسبًا أم لا

# التحقق من كل زوج من الأرقام
for i in range(len(arr)):
    for j in range(i + 1, len(arr)):
        if arr[i] + arr[j] == sm:
            print(f"{arr[i]} + {arr[j]} = {sm}")
            found = True  # إذا وجدنا زوجًا، نغير قيمة found

# إذا لم يتم العثور على أي زوج
if not found:
    print("Not Found pair")

سيفي هذا بالغرض ويضمن لنا أن الرسالة لن تظهر إلا بعد عدم العثور رعلى زوج.

شكرااا جدا لحضرتك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...