Fehlplatzierung der Return-Anweisung in For-Schleifen
In Ihrer Aufgabe sind Sie auf ein Problem gestoßen, bei dem das Programm trotz Zielen nur die Eingabe eines Haustieres zuließ für drei. Dieses Problem ergibt sich aus der Positionierung der Return-Anweisung innerhalb der Funktion make_list.
Innerhalb einer for-Schleife beendet die Return-Anweisung die Ausführung der Funktion sofort, wenn sie diese erreicht. Im bereitgestellten Code wird die Return-Anweisung in die Schleife eingefügt, wodurch die Funktion nach der ersten Iteration beendet wird, unabhängig von der gewünschten Anzahl von Eingaben (in diesem Fall drei).
Um dieses Problem zu beheben, Die Return-Anweisung sollte außerhalb der for-Schleife platziert werden. Dadurch wird sichergestellt, dass die Schleife die vorgeschriebene Anzahl von Iterationen ausführt, bevor die Funktion abgeschlossen wird.
Hier ist die korrigierte make_list-Funktion:
<code class="python">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</code>
Durch Platzieren der Return-Anweisung außerhalb der Schleife wird die Funktion jetzt ausgeführt wird vollständig ausgeführt, bevor die Liste der Haustierobjekte zurückgegeben wird.
Das obige ist der detaillierte Inhalt vonWarum wirkt sich eine falsche Platzierung der Return-Anweisung in For-Schleifen auf die Eingabeschleife aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!