Question: Guided Project: Profitable App Profiles for the App Store and Google Play Markets: removing non-English apps part two

Screen Link: https://app.dataquest.io/m/350/guided-project%3A-profitable-app-profiles-for-the-app-store-and-google-play-markets/7/removing-non-english-apps-part-two

My Code:

android_clean_english = []

for app in android_clean:
    name = app[0]
    characters(name)
    if True:
        android_clean_english.append(app)
        
print(explore_data(android_clean_english, 0, 3, True))
#android_clean is a list; characters is a function, see below

def characters(string):
    high_ASCII = 0
    for character in string:
        if ord(character) > 127:
            high_ASCII += 1
    if high_ASCII > 3:    
        return False
    else:
        return True

What I expected to happen: I expected the code to populate the empty list (android_clean_english = ) with all apps for which ‘characters(name)’ returned ‘True’. So apps that had symbols and non-English characters in them should have been excluded, lowering the original total of 9659 apps to 9614 apps.

What actually happened: the total number of apps returned remained the same: 9659.

Thoughts: I know that the code should have been ‘if characters(name):’ instead of ‘characters(name)’, ’ if True:’, and I did manage to get the correct answer with that code.
However, I would like to understand how Python read my original and faulty code? It doesn’t bring up an error, so does it ignore ‘characters(name)’ and just reads everything as True?

Thanks for your help!

Have you tried defining the function before calling it?