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

السؤال

نشر (معدل)

انا مبتدئ في لغة باثيون واحاول اكتب كود للدليل هاتف بحيث يتم ادخال value ويعود إلي بالkey

وعند ادخال value غير موجود يظهر رسالة The input number is not found!

لكن المشكلة الكود شغال فقط لما ادخل 111 يعود لي باسم Amal والباقي تظهر رسالة نوت فاوند رغم انها موجودة وش ممكن تكون المشكلة

phone_book = { "Amal" : 111 ,  "Mohammed" : 222 , "Khadijah" : 333 , "Abdullah" : 444 ,"Rawan" : 555 , "Faisal" : 666 , "Layla" : 777 }
xx=int(input("inter a number:"))

for key, value in phone_book.items():
        if xx == value:
            print("this phone number",value,"belongs to: ", key)
            break
        phone_book_to= None
        if phone_book_to is None:
            print("The input number is not found!")
            break

 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

يوجد خطأ في الكود الخاص بك، يتمثل في وضع تحديد القيمة "None" في كل مرة يتم فيها تكرار الحلقة، لذا يجب وضع تحديد القيمة خارج الحلقة.

وبالإضافة إلى ذلك، يجب تحديد القيمة "None" عند البدء ، حتى لا يتم إرجاع رسالة "الرقم غير موجود" في كل مرة يتم فيها تكرار الحلقة.

يمكن استخدام شرط "else" بدلاً من تحديد القيمة "None" ، حيث يتم تنفيذ الأمر الذي يلي "else" إذا لم يتم العثور على الرقم المدخل.

باستطاعتك استخدام الكود التالي:

phone_book = { "Amal" : 111 , "Mohammed" : 222 , "Khadijah" : 333 , "Abdullah" : 444 , "Rawan" : 555 , "Faisal" : 666 , "Layla" : 777 }
xx = int(input("Enter a number: "))
phone_book_to = None

for key, value in phone_book.items():
if xx == value:
print("This phone number", value, "belongs to:", key)
phone_book_to = key
break
else:
print("The input number is not found!")

 

  • 0
نشر (معدل)
بتاريخ 4 ساعة قال Mustafa Suleiman:

يوجد خطأ في الكود الخاص بك، يتمثل في وضع تحديد القيمة "None" في كل مرة يتم فيها تكرار الحلقة، لذا يجب وضع تحديد القيمة خارج الحلقة.

وبالإضافة إلى ذلك، يجب تحديد القيمة "None" عند البدء ، حتى لا يتم إرجاع رسالة "الرقم غير موجود" في كل مرة يتم فيها تكرار الحلقة.

يمكن استخدام شرط "else" بدلاً من تحديد القيمة "None" ، حيث يتم تنفيذ الأمر الذي يلي "else" إذا لم يتم العثور على الرقم المدخل.

باستطاعتك استخدام الكود التالي:

phone_book = { "Amal" : 111 , "Mohammed" : 222 , "Khadijah" : 333 , "Abdullah" : 444 , "Rawan" : 555 , "Faisal" : 666 , "Layla" : 777 }
xx = int(input("Enter a number: "))
phone_book_to = None

for key, value in phone_book.items():
if xx == value:
print("This phone number", value, "belongs to:", key)
phone_book_to = key
break
else:
print("The input number is not found!")

 

شكرا لك تم تشغيل الكود

تم التعديل في بواسطة Jehan Alalbirikan
  • 0
نشر

مشكلتك في الكود هي أنك قمت بإعادة تعيين 'phone_book_to' على 'None' في كل دورة 'for'، بدلاً من القيام بذلك فقط في بداية البرنامج. هذا يعني أنه عندما يتم إدخال رقم غير موجود ، يتم تعيين 'phone_book_to' على 'None' مرة أخرى ، ولذلك يتم طباعة الرسالة في كل مرة.

لحل هذه المشكلة، يجب أن تقوم بتحريك 'phone_book_to = None' خارج حلقة الـ 'for'، والقيام بها في البداية، قبل الحلقة 'for'، وذلك لكي يتم إعادة تعيينها إلى 'None' في كل مرة يتم فيها إدخال قيمة جديدة.

وهناك أيضًا مشكلة في 'phone_book_to is None'، حيث لا يوجد شيء اسمه 'phone_book_to' في البرنامج، لذلك يجب استخدام 'value' بدلاً من ذلك.

هنا هو الكود الصحيح:

phone_book = { "Amal" : 111 ,  "Mohammed" : 222 , "Khadijah" : 333 , "Abdullah" : 444 ,"Rawan" : 555 , "Faisal" : 666 , "Layla" : 777 }
xx = int(input("Enter a number: "))
phone_book_to = None

for key, value in phone_book.items():
    if xx == value:
        print("This phone number", value, "belongs to:", key)
        phone_book_to = key
        break

if phone_book_to is None:
    print("The input number is not found!")

أما إذا كنت ترغب في طباعة رسالة الخطأ دون الحاجة إلى 'phone_book_to'، فيمكنك حذف هذا الجزء واستخدام 'else' بدلاً من ذلك، كما يلي:

phone_book = { "Amal" : 111 ,  "Mohammed" : 222 , "Khadijah" : 333 , "Abdullah" : 444 ,"Rawan" : 555 , "Faisal" : 666 , "Layla" : 777 }
xx = int(input("Enter a number: "))

for key, value in phone_book.items():
    if xx == value:
        print("This phone number", value, "belongs to:", key)
        break
else:
    print("The input number is not found!")

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...