Python else условие печатает несколько раз - PullRequest
0 голосов
/ 31 октября 2018

Здесь я написал следующий код для поиска заголовков из листа 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

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

1 Ответ

0 голосов
/ 31 октября 2018

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

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")
...