#!/usr/bin/env python # coding: utf-8 # In[1]: print("#1 as given in solution") print("-----------------","\n") list_of_test_apps = ["Instagram", "爱奇艺PPS -《欢乐颂2》电视剧热播", "Docs To Go™ Free Office Suite", "Inst😜achat 😜_😜艺😜", "'奇艺PPS_testing", "《欢奇艺PPS_testing more"] def ASCII_Check(string_param): non_ascii = 0 for element in string_param: if ord(element) > 127: print("element:",element, "|non ascii count:", non_ascii) non_ascii += 1 if non_ascii > 3: return (False, "total non ascii count:", non_ascii, "| last element:", element) else: return (True, "total non ascii count:", non_ascii, "| last element:", element) for each in list_of_test_apps: print("app name:",each) print("function result:",ASCII_Check(each), "\n") # In[2]: print("#2 inside for loop outside first if block - Doesn't Work") print("-----------------","\n") list_of_test_apps = ["Instagram", "爱奇艺PPS -《欢乐颂2》电视剧热播", "Docs To Go™ Free Office Suite", "Inst😜achat 😜_😜艺😜", "'奇艺PPS_testing", "《欢奇艺PPS_testing more"] def ASCII_Check(string_param): non_ascii = 0 for element in string_param: if ord(element) > 127: print("element:",element, "|non ascii count:", non_ascii) non_ascii += 1 if non_ascii > 3: return (False, non_ascii, element) else: return (True, non_ascii, element) for each in list_of_test_apps: print("app name:",each) print("function result:",ASCII_Check(each), "\n") # In[3]: print("""#3 nested inside first if block - Doesn't work!""") print("-----------------","\n") list_of_test_apps = ["Instagram", "爱奇艺PPS -《欢乐颂2》电视剧热播", "Docs To Go™ Free Office Suite", "Inst😜achat 😜_😜艺😜", "'奇艺PPS_testing", "《欢奇艺PPS_testing more"] def ASCII_Check(string_param): non_ascii = 0 for element in string_param: if ord(element) > 127: print("element:",element, "|non ascii count:", non_ascii) non_ascii += 1 if non_ascii > 3: return (False, non_ascii, element) else: return (True, non_ascii, element) for each in list_of_test_apps: print("app name:",each) print("function result:",ASCII_Check(each), "\n") # In[4]: print("""#4 as suggested by @biadboze - The final result matches that of solution, although the Total count of non ascii characters is not equal but till the times its less than or equal to 3 it should work and give correct number of apps when applied to the dataset""") print("-----------------","\n") list_of_test_apps = ["Instagram", "爱奇艺PPS -《欢乐颂2》电视剧热播", "Docs To Go™ Free Office Suite", "Inst😜achat 😜😜艺😜", "'奇艺PPS_testing", "《欢奇艺PPS_testing more"] def ASCII_Check(string_param): non_ascii = 0 for element in string_param: if ord(element) > 127: print("element:",element, "|non ascii count:", non_ascii) non_ascii += 1 if non_ascii > 3: return (False, non_ascii, element) return (True, non_ascii, element) for each in list_of_test_apps: print("app name:",each) print("function result:",ASCII_Check(each), "\n")