"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > Why Does Misplacing the Return Statement in For Loops Affect Input Looping?

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

Published on 2024-11-14
Browse:821

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

Return Statement Misplacement in For Loops

In your assignment, you encountered an issue where the program only allowed the input of one pet despite aiming for three. This problem stems from the positioning of the return statement within the make_list function.

Within a for loop, the return statement terminates the function's execution immediately upon reaching it. In the provided code, the return statement is placed inside the loop, causing the function to exit after the first iteration, regardless of the desired number of inputs (in this case, three).

To rectify this issue, the return statement should be placed outside of the for loop. This ensures that the loop runs its prescribed number of iterations before the function concludes.

Here's the corrected make_list function:

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

By placing the return statement outside of the loop, the function now executes fully before returning the list of pet objects.

Release Statement This article is reprinted at: 1729293734 If there is any infringement, please contact [email protected] to delete it
Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3