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

لماذا يتسبب بيان الإرجاع في غير محله في إنهاء البرنامج قبل الأوان في حلقة for؟

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

Why is a Misplaced Return Statement Causing Premature Program Termination in a for Loop?

بيان الإرجاع في غير محله في الحلقات

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

عند التحليل، يصبح من الواضح أن المشكلة تكمن في موضع بيان الإرجاع داخل وظيفة make_list.

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

لتصحيح هذه المشكلة، يجب وضع عبارة الإرجاع

بعد للحلقة. يضمن هذا أن تستمر الوظيفة في تنفيذ تكرارات الحلقة وإضافة الحيوانات الثلاثة إلى القائمة قبل إعادتها.

الكود المصحح:

import pet_class

تعريف make_list():
    قائمة الحيوانات الأليفة = []

    طباعة ("أدخل بيانات لثلاثة حيوانات أليفة.")
    للعد في النطاق (1، 4):
        طباعة ("رقم الحيوان الأليف" str (العدد) ":")
        الاسم = Raw_input ("أدخل اسم الحيوان الأليف:")
        الحيوان = Raw_input("أدخل نوع الحيوان الأليف:")
        age = Raw_input('أدخل عمر الحيوان الأليف:')

        الحيوانات الأليفة = pet_class.PetName (الاسم، الحيوان، العمر)
        pet_list.append(حيوان أليف)

    إرجاع قائمة الحيوانات الأليفة

الحيوانات الأليفة = make_list()
بيان الافراج أعيد طبع هذه المقالة على: 1729293615 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3