"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué la colocación incorrecta de la declaración de retorno en los bucles For afecta los bucles de entrada?

¿Por qué la colocación incorrecta de la declaración de retorno en los bucles For afecta los bucles de entrada?

Publicado el 2024-11-14
Navegar:415

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

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.

Declaración de liberación Este artículo se reimprime en: 1729293734 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

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