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.
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