Условие Python else выводится несколько раз

Здесь я написал следующий код для поиска заголовков на листе Excel, он может искать заголовки, но для каждой успешной итерации он печатает успех отдельно, а также для ошибки.

    for i in sheet_data:
        if (i[0] == "BN") and (i[1] == "YOU"):      
            found_list.append(i)
            print("Success")
        else:
            print("error")

>

error
error
error
Success
error
Success
error
error

Если итерация нашла строку один или два раза, тогда печатайте успех только один раз, следовательно, она не будет печатать ошибку. Если нет успешной итерации, то только один раз нужно вывести error (else). (Мне просто нужно распечатать успех или ошибку)

Трудно предсказать, не зная вашего вклада

Hariom Singh 31.10.2018 11:16

Можете показать переменную sheet_data?

Raoslaw Szamszur 31.10.2018 11:17

хорошо, я напишу

sami 31.10.2018 11:17

Если вы хотите напечатать только один раз, не делайте этого в цикле. Как только вы узнаете, что должны знать, установите или очистите логическое значение, выйдите из цикла и напечатайте.

Rudy Velthuis 31.10.2018 11:20

Пожалуйста, прочтите мой вопрос правильно, вместо того, чтобы посвятить его мне. Теперь я получил ответ и согласился.

sami 31.10.2018 11:30
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
5
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы всегда что-то распечатываете, когда тестируете, используете временную переменную и распечатываете результат после сканирования полного списка:

success = False
for i in sheet_data:
    if (i[0] == "BN") and (i[1] == "YOU"):      
        found_list.append(i)
        success = True
if success:
    print("Success")
else:
    print("error")

Другие вопросы по теме