For ループ内の Return ステートメントの配置が間違っています
課題で、目的にもかかわらず、プログラムが 1 匹のペットの入力しか許可しないという問題が発生しました。 3人分。この問題は、make_list 関数内の return ステートメントの位置に起因します。
for ループ内では、return ステートメントは関数に到達するとすぐに実行を終了します。提供されたコードでは、return ステートメントがループ内に配置されており、必要な入力数 (この場合は 3) に関係なく、最初の反復後に関数が終了します。
この問題を修正するには、次のようにします。 return ステートメントは for ループの外側に配置する必要があります。これにより、関数が終了する前にループが指定された回数の反復を実行するようになります。
修正された make_list 関数は次のとおりです:
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
return ステートメントをループの外側に配置することで、ペット オブジェクトのリストを返す前に関数が完全に実行されるようになりました。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3