For ループ内の Return ステートメントの配置が間違っています
課題で、目的にもかかわらず、プログラムが 1 匹のペットの入力しか許可しないという問題が発生しました。 3人分。この問題は、make_list 関数内の return ステートメントの位置に起因します。
for ループ内では、return ステートメントは関数に到達するとすぐに実行を終了します。提供されたコードでは、return ステートメントがループ内に配置されており、必要な入力数 (この場合は 3) に関係なく、最初の反復後に関数が終了します。
この問題を修正するには、次のようにします。 return ステートメントは for ループの外側に配置する必要があります。これにより、関数が終了する前に、ループが指定された回数の反復を実行するようになります。
修正された make_list 関数は次のとおりです。
<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>
return ステートメントをループの外側に配置することで、関数が実行されるようになります。ペット オブジェクトのリストを返す前に完全に実行されます。
以上がFor ループ内で return ステートメントを間違えると入力ループに影響するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。