Fehlplatzierung der Rückgabeanweisung 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:
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
Durch Platzieren der Return-Anweisung außerhalb der Schleife wird die Funktion nun vollständig ausgeführt, bevor die Liste der Haustierobjekte zurückgegeben wird.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3