Heim  >  Artikel  >  Backend-Entwicklung  >  Wann kann eine Return-Anweisung eine Schleife in Python beenden?

Wann kann eine Return-Anweisung eine Schleife in Python beenden?

Linda Hamilton
Linda HamiltonOriginal
2024-10-19 07:20:30953Durchsuche

When Can a Return Statement Terminate a Loop in Python?

Rückgabeanweisungen in For-Schleifen

In Python kann eine Rückgabeanweisung innerhalb einer Schleife die Schleife vorzeitig beenden. Dies kann zu unerwartetem Verhalten führen, wie im bereitgestellten Beispiel zu sehen ist.

Im angegebenen Code zielt die Funktion make_list() darauf ab, Daten für drei Haustiere zu sammeln. Aufgrund der Platzierung der return-Anweisung innerhalb der Schleife werden jedoch nur Daten für das erste Haustier aufgezeichnet. Dies liegt daran, dass die Return-Anweisung die Funktion sofort nach der ersten Iteration der Schleife verlässt.

Um dieses Problem zu beheben, sollte die Return-Anweisung aus der Schleife verschoben werden, damit die Schleife alle drei Iterationen vor der Funktion abschließen kann kehrt zurück. Hier ist der korrigierte Code:

<code class="python">import pet_class

#The make_list function gets data from the user for three pets. The function
# returns a list of pet objects containing the data.
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 pet_list

pets = make_list()</code>

Mit dieser Änderung erfasst die Funktion ordnungsgemäß Daten für alle drei Haustiere, wie beabsichtigt.

Das obige ist der detaillierte Inhalt vonWann kann eine Return-Anweisung eine Schleife in Python beenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn