android_clean_english =  for app in android_clean: name = app 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!