Home >Backend Development >Python Tutorial >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:
<code class="python">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</code>
By placing the return statement outside of the loop, the function now executes fully before returning the list of pet objects.
The above is the detailed content of Why Does Misplacing the Return Statement in For Loops Affect Input Looping?. For more information, please follow other related articles on the PHP Chinese website!