"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 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 ?

Publié le 2024-11-02
Parcourir:953

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

Instruction de retour égarée dans les boucles for

Dans ce problème de programmation, l'utilisateur rencontre des difficultés à créer un programme permettant à 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é :

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()
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729293615. 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