同步操作将从 编程语言算法集/Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import osfrom string import ascii_lettersLETTERS_AND_SPACE = ascii_letters + " \t\n"def load_dictionary() -> dict[str, None]:path = os.path.split(os.path.realpath(__file__))english_words: dict[str, None] = {}with open(path[0] + "/dictionary.txt") as dictionary_file:for word in dictionary_file.read().split("\n"):english_words[word] = Nonereturn english_wordsENGLISH_WORDS = load_dictionary()def get_english_count(message: str) -> float:message = message.upper()message = remove_non_letters(message)possible_words = message.split()matches = len([word for word in possible_words if word in ENGLISH_WORDS])return float(matches) / len(possible_words)def remove_non_letters(message: str) -> str:return "".join(symbol for symbol in message if symbol in LETTERS_AND_SPACE)def is_english(message: str, word_percentage: int = 20, letter_percentage: int = 85) -> bool:""">>> is_english('Hello World')True>>> is_english('llold HorWd')False"""words_match = get_english_count(message) * 100 >= word_percentagenum_letters = len(remove_non_letters(message))message_letters_percentage = (float(num_letters) / len(message)) * 100letters_match = message_letters_percentage >= letter_percentagereturn words_match and letters_matchif __name__ == "__main__":import doctestdoctest.testmod()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。