For 루프에서 반환 문 위치가 잘못됨
과제에서 조준에도 불구하고 프로그램이 애완동물 한 마리만 입력하도록 허용하는 문제가 발생했습니다. 세 명. 이 문제는 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