"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi le fait de perdre l'instruction Return dans les boucles For affecte-t-il la boucle d'entrée ?

Pourquoi le fait de perdre l'instruction Return dans les boucles For affecte-t-il la boucle d'entrée ?

Publié le 2024-11-14
Parcourir:160

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

Déplacement de la déclaration de retour dans les boucles For

Dans votre mission, vous avez rencontré un problème où le programme n'autorisait que la saisie d'un seul animal malgré la visée. pour trois. Ce problème provient du positionnement de l'instruction return dans la fonction make_list.

Dans une boucle for, l'instruction return termine l'exécution de la fonction immédiatement après l'avoir atteinte. Dans le code fourni, l'instruction return est placée à l'intérieur de la boucle, provoquant la fermeture de la fonction après la première itération, quel que soit le nombre d'entrées souhaité (dans ce cas, trois).

Pour remédier à ce problème, l'instruction return doit être placée en dehors de la boucle for. Cela garantit que la boucle exécute le nombre d'itérations prescrit avant la fin de la fonction.

Voici la fonction make_list corrigée :

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

En plaçant l'instruction return en dehors de la boucle, la fonction s'exécute désormais entièrement avant de renvoyer la liste des objets pet.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729293734. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3