For 循环中的 Return 语句
在 Python 中,循环中的 return 语句可能会提前终止循环。这可能会导致意外的行为,如提供的示例所示。
在给定的代码中,函数 make_list() 旨在收集三只宠物的数据。但是,由于 return 语句放置在循环内,因此仅记录第一个宠物的数据。这是因为 return 语句在循环的第一次迭代后立即退出函数。
要纠正此问题,应将 return 语句移到循环之外,从而允许循环在函数之前完成所有三次迭代返回。以下是更正后的代码:
<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>
通过此修改,该函数将按预期正确收集所有三只宠物的数据。
以上是什么时候 Return 语句可以终止 Python 中的循环?的详细内容。更多信息请关注PHP中文网其他相关文章!