Maison >développement back-end >Tutoriel Python >Où l'instruction Return doit-elle être placée dans une boucle For pour garantir la bonne exécution de la fonction ?
Comprendre le placement de l'instruction Return dans les boucles For
Dans la question publiée, un programmeur a rencontré un problème avec une fonction qui collectait les entrées de l'utilisateur pour un liste des animaux de compagnie. Le programme ne permettait à l'utilisateur de saisir qu'un seul animal, alors que la fonction en attendait trois. Le problème réside dans le placement de l'instruction return dans une boucle for.
Corps de la fonction et instruction Return
Dans le corps d'une fonction, l'instruction return termine la fonction et renvoie une valeur ou, dans certains cas, plusieurs valeurs. Lorsqu'elle est placée dans une boucle for, l'instruction return quitte la boucle et la fonction entière, quel que soit le nombre d'itérations restantes de la boucle.
Comprendre le problème
Dans l'exemple de code fourni :
def make_list(): # ... for count in range(1, 4): # ... pet_list.append(pet) return pet_list
L'instruction return est placée dans la boucle for. Lorsque le programme atteint cette ligne pour le premier animal, la fonction renvoie immédiatement la liste contenant только один питомец. En conséquence, la fonction se termine prématurément, empêchant la collecte de données pour les deux animaux restants.
Placement correct de la déclaration de retour
Pour résoudre ce problème, le retour L'instruction doit être déplacée en dehors de la boucle for. Cela permet à la boucle de terminer ses itérations et de collecter des données pour les trois animaux avant de renvoyer la liste complète.
def make_list(): # ... for count in range(1, 4): # ... pet_list.append(pet) return pet_list
Conclusion
Placer correctement l'instruction return en dehors du for loop garantit que la fonction collecte toutes les données nécessaires avant de renvoyer le résultat souhaité.
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!