Maison  >  Article  >  développement back-end  >  Pourquoi une instruction Return égarée provoque-t-elle la fin prématurée du programme dans une boucle for ?

Pourquoi une instruction Return égarée provoque-t-elle la fin prématurée du programme dans une boucle for ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-19 07:22:02576parcourir

Why is a Misplaced Return Statement Causing Premature Program Termination in a for Loop?

Déclaration de retour égarée dans les boucles for

Dans ce problème de programmation, l'utilisateur rencontre des difficultés à créer un programme qui permet à l'utilisateur de saisir trois animaux . Le programme est conçu pour remplir une liste d'objets Pet contenant le nom, le type d'animal et l'âge. Cependant, après avoir saisi le premier animal, le programme se termine brusquement.

Après analyse, il devient évident que le problème réside dans le placement de l'instruction return dans la fonction make_list.

La boucle for implémente le code dans le bloc de code à plusieurs reprises pendant un nombre spécifié d'itérations. Lorsque l'instruction return est placée à l'intérieur de la boucle, elle quitte prématurément la fonction après avoir ajouté uniquement le premier animal à la liste.

Pour remédier à ce problème, l'instruction return doit être placée après le pour la boucle. Cela garantit que la fonction continue d'exécuter les itérations de la boucle et ajoute les trois animaux à la liste avant de la renvoyer.

Code corrigé :

<code class="python">import pet_class

def make_list():
    pet_list = []

    print('Enter data for three pets.')
    for count in range(1, 4):
        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:')

        pet = pet_class.PetName(name, animal, age)
        pet_list.append(pet)

    return pet_list

pets = make_list()</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn