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

Почему неуместный оператор возврата приводит к преждевременному завершению программы в цикле for?

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

Why is a Misplaced Return Statement Causing Premature Program Termination in a for Loop?

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

В этой проблеме программирования пользователь сталкивается с трудностями при создании программы, которая позволяет пользователю вводить данные для трех животных . Программа предназначена для заполнения списка объектами Pet, содержащими имя, тип животного и возраст. Однако после ввода первого животного программа внезапно завершает работу.

После анализа становится очевидным, что проблема заключается в размещении оператора return внутри функции make_list.

Цикл for реализует код в блоке кода повторно для указанного количества итераций. Когда оператор return помещается внутри цикла, он преждевременно завершает функцию после добавления в список только первого животного.

Чтобы исправить эту проблему, оператор return должен быть помещен после для петли. Это гарантирует, что функция продолжит выполнять итерации цикла и добавит всех трех животных в список перед его возвратом.

Исправленный код:

import pet_class

def make_list():
    pet_list = []

    print('Enter data for three pets.')
    for count in range(1, 4):
        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:')

        pet = pet_class.PetName(name, animal, age)
        pet_list.append(pet)

    return pet_list

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

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

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

Copyright© 2022 湘ICP备2022001581号-3