Declaración de devolución mal colocada en bucles For
En tu tarea, encontraste un problema donde el programa solo permitía la entrada de una mascota a pesar de apuntar por tres. Este problema surge del posicionamiento de la declaración return dentro de la función make_list.
Dentro de un bucle for, la declaración return finaliza la ejecución de la función inmediatamente después de llegar a ella. En el código proporcionado, la declaración de retorno se coloca dentro del bucle, lo que hace que la función salga después de la primera iteración, independientemente del número deseado de entradas (en este caso, tres).
Para rectificar este problema, la declaración de retorno debe colocarse fuera del bucle for. Esto garantiza que el bucle ejecute el número prescrito de iteraciones antes de que concluya la función.
Aquí está la función make_list corregida:
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
Al colocar la declaración de retorno fuera del bucle, la función ahora se ejecuta completamente antes de devolver la lista de objetos mascota.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3