«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему неправильная установка оператора return в циклах for влияет на цикл ввода?

Почему неправильная установка оператора return в циклах for влияет на цикл ввода?

Опубликовано 14 ноября 2024 г.
Просматривать:948

Why Does Misplacing the Return Statement in For Loops Affect Input Looping?

Неправильное размещение оператора возврата в циклах For

В вашем задании вы столкнулись с проблемой, когда программа допускала ввод только одного питомца, несмотря на прицеливание на троих. Эта проблема возникает из-за позиционирования оператора return внутри функции make_list.

В цикле for оператор return прекращает выполнение функции сразу после его достижения. В предоставленном коде оператор return помещается внутри цикла, что приводит к завершению функции после первой итерации независимо от желаемого количества входных данных (в данном случае — трех).

Чтобы устранить эту проблему, оператор 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 вне цикла, функция теперь выполняется полностью перед возвратом списка объектов домашних животных.

Заявление о выпуске Эта статья перепечатана по адресу: 1729293734. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3