Python: Напечатать что-нибудь, если ни один из операторов if в функции не используется - PullRequest
0 голосов
/ 08 мая 2020

У меня есть функция, которая имеет несколько операторов if, которые печатают «x», если условие:

Я хочу написать оператор if, который, если ни один из операторов if внутри функции не используется, печатает «что-то»

воспроизводимый пример

def my_function(data):
    ### Constant Features Check
    x = pd.DataFrame({'value':data.nunique()})
    for col in x.index:
        if x.loc[col, 'value'] == 1:
            print('Column', col , 'is a constant value')

### lets say i have 10's of "for x in y: if statements "like this 
### If none of are activated i want to print "something"

## if none of the print statements in the for loops print, print(something')

1 Ответ

1 голос
/ 08 мая 2020

Если вы хотите напечатать something, если ни одно из условий if не активировано, вы можете использовать флаг, чтобы фиксировать, если что-то напечатано операторами печати во всех циклах if.

def my_function(data):
    ### Constant Features Check
    x = pd.DataFrame({'value':data.nunique()})
    anythingPrinted = False
    for col in x.index:
        if x.loc[col, 'value'] == 1:
            print('Column', col , 'is a constant value')
            anythingPrinted = True

    ### 100 such statements

    # At the end of the function
    if not anythingPrinted:
        print("something")


...