"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يؤثر وضع عبارة الإرجاع في غير موضعها في حلقات For على حلقات الإدخال؟

لماذا يؤثر وضع عبارة الإرجاع في غير موضعها في حلقات For على حلقات الإدخال؟

تم النشر بتاريخ 2024-11-14
تصفح:553

Why Does Misplacing the Return Statement in For Loops Affect Input Looping?

خطأ في بيان الإرجاع في الحلقات

في مهمتك، واجهت مشكلة حيث يسمح البرنامج فقط بإدخال حيوان أليف واحد على الرغم من التصويب لمدة ثلاثة. تنبع هذه المشكلة من تحديد موضع عبارة الإرجاع داخل وظيفة make_list.

في حلقة for، تنهي عبارة الإرجاع تنفيذ الوظيفة فور الوصول إليها. في الكود المقدم، يتم وضع عبارة الإرجاع داخل الحلقة، مما يتسبب في خروج الوظيفة بعد التكرار الأول، بغض النظر عن العدد المطلوب من المدخلات (في هذه الحالة، ثلاثة).

لتصحيح هذه المشكلة، يجب وضع عبارة الإرجاع خارج حلقة for. يضمن هذا أن تقوم الحلقة بتشغيل العدد المحدد من التكرارات قبل انتهاء الوظيفة.

إليك وظيفة make_list المصححة:

def make_list():
    #create empty list.
    pet_list = []

    #Add three pet objects to the list.
    print 'Enter data for three pets.'
    for count in range (1, 4):
        #get the pet data.
        print 'Pet number '   str(count)   ':'
        name = raw_input('Enter the pet name:')
        animal = raw_input('Enter the pet animal type:')
        age = raw_input('Enter the pet age:')

        #create a new pet object in memory and assign it
        #to the pet variable
        pet = pet_class.PetName(name,animal,age)

        #Add the object to the list.
        pet_list.append(pet)

    #Return the list
    return pet_list
من خلال وضع عبارة الإرجاع خارج الحلقة، يتم تنفيذ الوظيفة الآن بشكل كامل قبل إرجاع قائمة الكائنات الأليفة.

بيان الافراج أعيد طبع هذه المقالة على: 1729293734 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3